计量论坛

 找回密码
 成为会员

QQ登录

只需一步,快速开始

搜索
查看: 4864|回复: 6

[数据] EXCEL四舍五入时的一个漏洞分享,以避免数据处理错误。

[复制链接]
发表于 2015-10-15 17:56:20 | 显示全部楼层 |阅读模式

立刻注册计量论坛 交流工作中的点滴

您需要 登录 才可以下载或查看,没有账号?成为会员

x
本帖最后由 thearchyhigh 于 2015-10-15 18:01 编辑

    在用EXCEL计算误差时,发现四舍五入与手算不一致,提醒各位注意一下。示例如下:标准源输出40,被校仪器示值40.01,用EXCEL计算相对误差保留3个小数位数时为0.025%,但保留2位时为0.02%。 QQ图片201510151754321.png
QQ图片20151015175415.png

hblgs2004 该用户已被删除
发表于 2015-10-16 08:24:46 | 显示全部楼层
你给出的数据没错呀,符合奇变偶不变规则,漏洞在哪儿?
发表于 2015-10-16 08:55:26 | 显示全部楼层
四舍五入出现问题,实际是EXCEL换算机制的问题,十进制转换成二进制进行计算,计算完再转换为十进制,运算过程保留位数问题,最终导致计算结果不是正好是0.025,你将小数位数保留十五位,就会出现我上传图中的数值,最后四舍五入就出现你这结果了 。可以用ROUND函数取整后计算,楼主的这种计算误差的情况,基本不会出现问题,实际可以用excel函数实现四舍六入的。
QQ图片20151016084902.png
 楼主| 发表于 2015-10-17 08:29:46 | 显示全部楼层
菩提树 发表于 2015-10-16 08:55
四舍五入出现问题,实际是EXCEL换算机制的问题,十进制转换成二进制进行计算,计算完再转换为十进制,运算 ...

恩。乘上一定倍数转成整数再算是可以的,但必竟使用中小数位不清楚,再加上此种情况极少,没必要为这了个去随时设置公式,大家知道避免一下就好。至于ROUND也是4舍5入,和EXCEL上面手动调小数位数一样的,不能避免此问题。
 楼主| 发表于 2015-10-17 08:31:09 | 显示全部楼层
hblgs2004 发表于 2015-10-16 08:24
你给出的数据没错呀,符合奇变偶不变规则,漏洞在哪儿?

EXCEL的四舍五入是不会奇变偶的,此计算是特例。你可以用40和40.1去算就为是0.3%而不是0.2%了
发表于 2015-10-17 09:03:29 | 显示全部楼层
execl没有错,和你的保留位数有关系,另外execl没有四舍六入五成双的功能,如需要使用要自定义函数来实现。
 楼主| 发表于 2015-10-17 10:01:17 | 显示全部楼层
gl98 发表于 2015-10-17 09:03
execl没有错,和你的保留位数有关系,另外execl没有四舍六入五成双的功能,如需要使用要自定义函数来实现。 ...

该示例40及40.01两个数据后面全是零,你可以自己试下。该漏洞的原因3楼已经解释清楚了。
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

小黑屋|手机版|Archiver|计量论坛 ( 闽ICP备06005787号-1—304所 )
电话:0592-5613810 QQ:473647 微信:gfjlbbs闽公网安备 35020602000072号

GMT+8, 2024-4-19 20:01 , Processed in 0.041562 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表