警惕“四舍五入”造成的数据误差

时间:2009-01-16 05:01:46  来源:第二电脑网上收集  作者:第二电脑网

  第二电脑网导读:两位小数,再将结果乘以3.12,再“四舍五入”保留两位小数,Excel的计算结果是“9.91”,而我们手工计算的结果是“9.92”。是什么原因造成Excel计算错误呢?难道Excel也会犯迷糊?非也!Excel并不会犯迷糊,造成误差的根本原因是“四舍五入”。我们设置表格的时候,在“单元格格式”窗口中设置的“小数位数”只能将单元格中的数值“显示内容”四舍五入,...
  正文:

很多朋友都在使用Excel编辑、处理各种数据报表,在使用过程中往往会发现Excel自动计算的结果与我们自己手动计算的结果会出现一个误差。例如Excel工作表中有B2=16.18、C2=12.69,将B2与C2之和乘以0.11,将结果“四舍五入”,保留两位小数,再将结果乘以3.12,再“四舍五入”保留两位小数,Excel的计算结果是“9.91”,而我们手工计算的结果是“9.92”。是什么原因造成Excel计算错误呢?难道Excel也会犯迷糊?非也!Excel并不会犯迷糊,造成误差的根本原因是“四舍五入”。

我们设置表格的时候,在“单元格格式”窗口中设置的“小数位数”只能将单元格中的数值“显示内容”四舍五入,并不能对所存放的“数值”四舍五入。换句话说,显示内容和实际存放内容(即参与运算的内容)并非完全一致。因此,造成Excel计算结果与实际需求出现误差的元凶正,正是单元格数据的显示内容与参与计算内容的不一致性。那么我们该如何避免这种误差呢?

方法很简单,其一是利用Round函数对小数进行精确的四舍五入,其格式为:round(number,num_digits),其中“number” 为需要四舍五入的数字或运算公式,num_digits指定四舍五入的位数。针对本文所述问题,我们只需在D2单元格中输入“=Round((B2+C2)*0.11,2)”,在“E2”单元格中输入“=Round(D2*3.12,2)”即可。另外,我们还可以通过Excel进行一下简单的设置来达到精确计算的目的,点击Excel菜单栏的“工具/选项”,在弹出的“选项”窗口中切换到“重新计算”选项卡,在“工作簿选项”栏中将“以显示值为准”复选框打上钩,点“确定”按钮即可(如图)




警惕“四舍五入”造成的数据误差》由第二电脑网原创提供,转载请注明:http://www.002pc.com/pcedu/Office/Excel/2008-12-14/7569.html


关键字:

关于《警惕“四舍五入”造成的数据误差》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td