Excel舍入法则

时间:2022-09-24 06:49:48

Excel舍入法则

使用Excel的用户都知道,通过单元格格式或函数可以设定数值的精度,虽然让表格中的数值在显示时只保留指定位数的数字不难,但是要在对数值进行舍入处理的同时不影响整个电子表格的计算结果却不是一件简单的事情。下面CHIP就来帮助大家掌握正确的舍入操作方法。

相关函数

在Excel中能够对数值精度进行修改的函数有很多,例如取整函数INT、EVEN、ODD,四舍五入函数ROUND、ROUNDUP、ROUNDDOWN、MROUND,截位函数TRUNC、FLOOR、CEILING以及文本和货币格式化函数FIXED、DOLLAR、RMB。此外,还能够通过对单元格的数字格式进行设置,让数值以指定的精度显示。但是很少有人会注意到用这些舍入函数处理得出的结果并不相同,而且即便是Excel专门用于舍入处理的函数ROUND,也会让参与计算的数值在进行舍入处理之后使最终结果发生改变,而在一个复杂的电子表格中,这一轻微的变化,将可能会导致巨大的误差。

大部分舍入函数对负数的处理更容易出现偏差,例如用于向上舍入的ROUNDUP函数,如“=ROUNDUP(-2.5,0)”得到的结果是“-3”,而不是“-2”。实际上,处理类似的数值,使用同样用于向上和向下舍入的CEILING、FLOOR函数会更合适一些,不过,这两个函数的第二个参数不再是舍入后保留的位数,而是要舍入到的倍数,如使用参数“0.01”,就是舍入后的结果最接近于0.01的倍数。另外,专门用于舍入处理的函数ROUND还有一个衍生的函数MROUND,它可以采用类似CEILING、FLOOR函数的数据处理方式,设定要舍入到的倍数对数值进行处理。

数学上的舍入

我们对Excel的舍入函数进行一些研究后发现,它们采用的都是标准的四舍五入算法,对于数学上用于避免舍入结果误差偏大的四舍六入五留双算法(Banker's Rounding)缺乏支持。所谓的四舍六入五留双也就是四舍六入,并在逢五而且五的后面没有其他数值时舍入为最接近的偶数,例如“2.5”舍入结果为“2”,“3.5”舍入结果则为“4”。如果我们需要Excel支持这一算法,那么可以通过VBA添加一个自定义函数。首先,使用快捷键[ALT]+[F11]打开VBA编辑器,选择“插入|模块”,键入以下代码:

Public Function RoundM(ByVal X As Double,Optional Decimals As Long = 0)

RoundM = Round(X, Decimals)

End Function

再选择“文件|关闭并返回Microsoft Excel”即可使用自定义函数ROUNDM进行四舍六入五留双的舍入运算了。

正确的舍入

数字格式 如果只是希望数字能以指定的精度显示,那么使用单元格的“数字格式”功能即可获得令人满意的结果。

四舍五入显示 在“设置单元格格式”的对话框中选择数值、货币等分类,即可通过“小数位数”选项指定保留的位数。

危险的选项 选中“文件|选项|高级|计算此工作簿时”中的“将精度设为所显示的精度”选项,工作簿中的数据精度将按显示精度进行设定。

向上和向下舍入 通过图中的表格可以看出不同舍入函数的差异,对于负数的处理,ROUNDUP和ROUNDDOWN处理的结果在数学逻辑上是不正确的,相比之下,CEILING和FLOOR会好一些。

其他舍入方法 要灵活地使用各种舍入函数,如在必要时以一个特定的基数对数值进行舍入,使用函数“=MROUND(数值,0.05)”(以5分为基数舍入货币金额)是不错的选择。

总和的问题 修改金额的精度,可能会导致总和不正确,为了避免会计上的误差,可以考虑在计算的最后部分采用不同的方法,例如用总金额减去其余部分的金额。

数学上的舍入 四舍五入将导致计算结果误差偏大,因而,我们可以使用自定义函数ROUNDM,以数学上的四舍六入五留双算法来减少偏差。

期望的结果 很多时候我们既需要以适当的精度显示数值,同时也必须保持准确的计算结果。

上一篇:高中语文创新启发式教学法导入 下一篇:认知信息加工理论对单摆实验改进研究