造冰箱的大熊猫,适用于Microsoft Office Excel 2007@cnblogs 2021/4/16
1、问题
先看一个例子:
1)打开Excel,创建一个新表格,如下图所示(鼠标右键点击图片选择看大图,下同),B9输入3,C9输入72.6655,D9输入“=B9*C9”,回车后D9显示217.9965,此为正确的计算结果。
2)再创建一组相同的计算(如下图中绿色所示)。将C13和D13的格式修改为货币(右键点击表格中的单元,选择“设置单元格格式(F)...>>数字>>分类>>货币”)。此时,C13显示为“¥72.67”,D13显示为“218.00”,不对啊,D13少了0.01!
3)创建第三组计算(如下图中红色所示)。将C17和D17的格式修改为货币,且小数点后显示3位,此时的结果又是正确的。
2、产生问题的原因
实际上,导致第二组计算结果异常的原因是当设置C13为货币模式后,显示数值时Excel自动进行了四舍五入(72.6655≈72.67)。而D13是先计算B13×C13,再四舍五入显示(217.9965≈218.00)。因此看上去似乎是3×72.67的结果为218.00,莫名少了0.01。
3、解决问题的方法
针对这种问题,实际上Excel已经提供了解决方法:
1)点击Excel左上角的Office图标,选择“Excel选项”。
2)在Excel选项对话框中,选择“高级”,在“计算此工作簿时”下方选中“将精度设置为所显示精度”。
3)点击“确定”,返回工作簿界面,此时D13的显示结果已经为218.01。操作截图及设置后的工作簿截图如下图所示。
在Office帮助中,“将精度设置为所显示的精度”选项的解释为“将单元格中存储值的全精度(15 位)永久更改为所显示格式的精度(包括小数位数)”。话有点怪,估计是翻译的问题,我觉得简单地讲就是“使用单元格的显示结果进行计算”。