写在前面
在 Excel 中限制小数位数,是经常会遇到的情况。最常见的,就是货币,最小单位是1分钱,不能再小了。
经过一系列计算,最后算出来的数值,可能是一个有很多位小数的数字,这个时候保留一定位数后,可能会出现 1 加 1 不等于 2
的情况。比如 0.003 + 0.004 = 0.007
,在都保留两位小数后再看,就成了 0.00 + 0.00 = 0.01
。相信很多财务、审计人员都遇到过。
解决方案,就是在适当的时候保留适当位数的小数。所谓适当的时候,并不一定就是在最开始或者在最后一步,而是要视不同的情况而定。因为大家都知道,太早的位数取舍,可能最终结果会出现较大的偏差,正所谓“失之毫厘谬以千里”;而有的时候中间过程的结果也需要体现,那就需要早一点取舍小数了。我的经验,如果计算的是货币或者其他有最小精度的数据,那就让每一步都不能出现小数位数超出最小精度的情况,否则就在最后做位数取舍。
Excel 里的 Round 函数
在 Excel 里,保留一定位数小数的公式是 Round
。ROUND
函数将数字四舍五入到指定的位数。
=Round(number, num_digits)
number 必需。要四舍五入的数字。num_digits
备注:
- 如果
num_digits
大于 0(零),则将数字四舍五入到指定的小数位数。 - 如果
num_digits
等于 0,则将数字四舍五入到最接近的整数。 - 如果
num_digits
小于 0,则将数字四舍五入到小数点左边的相应位数。 - 若要始终进行向上舍入(远离 0),请使用
ROUNDUP
函数。 - 若要始终进行向下舍入(朝向 0),请使用
ROUNDDOWN
函数。 - 若要将某个数字四舍五入为指定的倍数(例如,四舍五入为最接近的 0.5 倍),请使用
MROUND
函数。
这个函数使用起来很简单。比如 A1
单元格的数值是 23.7825
,我们想要将此数值舍入到两个小数位数,可以使用以下公式:
=ROUND(A1, 2)
此函数的结果为 23.78
。
用起来很简单,是不是?
扩展
每次使用,都要输入 =Round( , )
,效率不高。我们希望的是,点选一个单元格或者单元格区域,再点一下鼠标,这些单元格的数字就保留了固定的小数位数。这才符合我们高效的要求。
因此,我们要在功能区添加一个选项卡,在里面添加一个自定义的功能,就像这样:
具体实现过程,我们将在下次讲解。包括创建自定义的功能,也包括将 Excel 已有功能组合到一个选项卡,以方便我们使用。
好了,下次见。