自定义函数 四舍五入升级版:四入五,五进一
1、打开一张空白Excel表格,并按Alt+F11,调出VBA编辑器
2、在VBA编辑器中插入一个模块
3、复制下面的函数代码,粘贴到模块中:Function fGet5(vntInput As Variant, Optional intCount As Integer = 1, Optional blnUpDown As Boolean = True) As Variant'对原值向上舍取,并向下舍取,然后返回中值'根据blnUpDown选项,默认向上取值,也可以向下取值 Dim vntUp As Variant, vntDown As Variant '设置默认返回值 fGet5 = "" '输入为空值,则退出 If vntInput = "" Then Exit Function If IsNumeric(vntInput) Then '获取上值 vntUp = WorksheetFunction.RoundUp(vntInput, intCount - 1) '获取下值 vntDown = WorksheetFunction.RoundDown(vntInput, intCount - 1) '返回中值 fGet5 = (vntUp + vntDown) / 2 If blnUpDown = True Then '如果原值大于中值,则返回上值 If vntInput > fGet5 Then fGet5 = vntUp Else '如果原值小于中值,则返回下值 If vntInput < fGet5 Then fGet5 = vntDown End If End If End Function
4、保存代码之后,便可以在工作表中使用该函数,函数默认是保留一位小数和向上取值,也可以自行设置参墙绅褡孛数为False向下取值