中计算均方误差_Excel的浮点运算误差,应该在计算中注意规避的问题

Excel浮点计算误差,对计算结果会有一定的影响,这个在日常的计算中一定要注意,如果是正常的数值运算,基本上不会出现错误了:

例如:

0.82-0.8=0.02

但是如果在外面套上函数就会出现问题:

dbd63beceed02a508ff23635cd99a89f.png

=INT((B2-A2)*100)

应该得到的结果是2,但是Excel给出的结果却是1,我们通过查看函数计算过程发现,两个小数相减,得到的结果不是0.02,而是0.0199999999999999这样一个值,这就是Excel浮点计算的误差,我们做了一个简单的测试,发现绝大多数的数值运算函数,都会受这个误差的影响,导致计算结果出现错误。

有趣的是这个影响的数值范围:

35c466d944be114153cd1405978a9974.png

各种带8的或者1.2-1.1,又不是所有的差值在0.1的都会显示0.999999999999999,规律很难找出来。

我试了几个这种

1.882-1.8

2.8882-2.88

这样的都会出现浮点误差。

出现误差怎么办?

微软提示两个办法:

  • ROUND函数来确定精度:

为了防止这个误差,嵌套一个ROUND函数来截断数据

a6059e2cc40c44ad72a1c4227571e0de.png
  • Excel选项中规定计算精度:

高级选项卡下面的计算工作簿,勾选计算精度为显示精度。

9210baaf9513bbc1ae638c0eb7adaaca.png

在保存工作簿时,除两个小数位数之外的所有精度都将丢失。 此选项影响活动工作簿,包括所有工作表。 您无法撤消此选项并恢复丢失的数据。 建议您在启用此选项之前保存工作簿。

这是微软的原话,我觉得这个误差多是出现在绝对值小于0的小数运算,那么很多时候是在计算各种百分比时会出现误差,尤其是在绩效核算时的打分计算中,多扣分了同事不高兴,少扣钱了老板不满意。一定要多加小心,认真验算。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值