Excel-VBA:“银行家舍入” 与“国际标准的四舍五入”

Excel-VBA:“银行家舍入” 与“国际标准的四舍五入”

银行家舍入

银行家舍入法就是大家所用的四舍五入法,例如,保留两位小数时,第三位小数的值大于5,则第二位小数要进1;否者,舍掉。

已数字举例
在这里插入图片描述

国际标准的四舍五入

大部分编程软件使用的四舍五入,也就是国际标准的四舍五入,其原则为:
四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一。

以几个数字来举例这个"舍入法则"
在这里插入图片描述

Excel里的 Round函数

前面讲了两种舍入法,其实时为更好引出要解决的现实场景中的数据问题。
round函数的官方链接文档:Round函数

Round函数有两个参数,即 Round(A,B)
其中A为要调整的原值,一般为双精度小数;B为自定义的整数,用于指定A要保留几位小数。

把官网的举例搬过来
在这里插入图片描述

值得注意的是
Round函数,在工作表和VBA中有区别。在工作表中是四舍五入,在VBA中是四舍六入五考虑,也就是国际标准的舍入法。

用以下语句去封装round函数,再调用这个封装的函数,就可以达到国际标准的舍入法

Function TranValue(rng As Double, number As Integer) As Double
TranValue = Round(rng, number)
End Function

打开VBA编辑器,右键ThisWorkbook右键->插入->模块
在这里插入图片描述
然后 ctrl+s 保存。
就可以再工作表里使用 tranvalue这个函数了。

以上。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
Excel中,VBA是一种编程语言,可以用来自动化执行一系列操作。如果要通过VBA来调用VLOOKUP函数实现动态查询,我们可以按照以下步骤进行操作: 1. 打开VBA编辑器:在Excel中按下Alt+F11键,即可打开VBA编辑器窗口。 2. 在VBA编辑器中插入新的模块:在"插入"菜单中选择"模块",即可在项目资源管理器中创建一个新的模块。 3. 编写VBA代码:在新的模块中输入以下代码,用于调用VLOOKUP函数实现动态查询。 ```vba Function VLOOKUP_Dynamic(LookupValue As Range, LookupRange As Range, ColumnIndex As Integer) As Variant Dim Result As Variant Result = Application.WorksheetFunction.VLookup(LookupValue, LookupRange, ColumnIndex, False) VLOOKUP_Dynamic = Result End Function ``` 4. 保存并关闭VBA编辑器:保存VBA代码,然后关闭VBA编辑器窗口回到Excel工作表。 5. 在单元格中调用VBA函数:在Excel工作表中选择一个单元格,在函数栏中输入"=VLOOKUP_Dynamic(要查找的值, 查找范围, 返回列索引)",并按下回车键。其中,"要查找的值"是要动态查询的值,"查找范围"是要进行查询的范围,"返回列索引"是要返回的列号或列索引。 通过以上步骤,我们可以通过VBA调用VLOOKUP函数实现动态查询。每当单元格中的值发生变化时,VLOOKUP_Dynamic函数将会重新计算并返回相应的查询结果。这种方可以节省时间和手动操作的复杂性,提高查询的效率和准确性。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值