每年的年底数据汇总时,经常会听到有人抱怨,“仅仅是1分钱的差异,却让我检查了好久,怎么看也没看出错误在哪里“。其实,有时候真的不是我们的错误,因为EXCEL中单元格数据显示值与实际值不一样。
以工资计算为例,如图 1所示,某公司工资表中,D2单元格公式为:
=B2/22*C2
即按没人的基本工资除以工作日22天再乘以出勤天数计算,经常出现手工汇总每个员工工资总额与使用D7单元格中用SUM函数得到的和差1分钱,有什么办法让合计金额计算正确吗?
图1 汇总金额与实际差1分钱
解决方案1
设置计算精度为以显示精度为准。
操作方法
如图 2所示,单击“文件”选项卡→“选项”→“高级”,在“计算此工作簿时”区域勾选“将精度设为所显示的精度”复选框,单击“确定”按钮。
图2 设置以显示精度为准
注意:设置完毕后,该工作簿内所有的公式计算将受到影响,按照“所见即所得”的模式计算。例如设置单元格数字格式为0位小数后,数据将以整数部分进行计算,需慎用。
解决方案2
使用四舍五入函数确保计算精度。
操作方法
如图1所示,在E2单元格输入公式:
=ROUND(B2/22*C2,2)
对每个人的计时工资按“四舍五入”保留2位小数,则E7单元格SUM函数求和可得到正确结果。
原理分析
本例中,由于使用除法运算中差生了无限不循环小数,例如王卫平的工资额为:6000/22*20=5454.54545454545,并非显示的5454.55元,从而造成求和运算的差额。