耐特信计量检测服务平台_计量管理软件

标题: EXCEL四舍五入时的一个漏洞分享,以避免数据处理错误。 [打印本页]

作者: lisi    时间: 2016-8-18 17:46
标题: EXCEL四舍五入时的一个漏洞分享,以避免数据处理错误。
[size=14.0000009536743px]在用EXCEL计算误差时,发现四舍五入与手算不一致,提醒各位注意一下。示例如下:标准源输出40,被校仪器示值40.01,用EXCEL计算相对误差保留3个小数位数时为0.025%,但保留2位时为0.02%。[attach]191[/attach]
[attach]192[/attach]
作者: darny    时间: 2016-8-18 19:22
你给出的数据没错呀,符合奇变偶不变规则,漏洞在哪儿?
作者: 飞翔de希望    时间: 2016-8-18 19:28
四舍五入出现问题,实际是EXCEL换算机制的问题,十进制转换成二进制进行计算,计算完再转换为十进制,运算过程保留位数问题,最终导致计算结果不是正好是0.025,你将小数位数保留十五位,就会出现我上传图中的数值,最后四舍五入就出现你这结果了 。可以用ROUND函数取整后计算,楼主的这种计算误差的情况,基本不会出现问题,实际可以用excel函数实现四舍六入的。
作者: wsm123123    时间: 2016-8-18 20:11
EXCEL的[size=14.1176462173462px]四舍五入是不会奇变偶的,此计算是特例。你可以用40和40.1去算就为是0.3%而不是0.2%了
作者: vooper    时间: 2016-8-18 20:50
该示例40及40.01两个数据后面全是零,你可以自己试下。该漏洞的原因3楼已经解释清楚了。
作者: 快乐.每一天    时间: 2016-8-18 20:56
恩。乘上一定倍数转成整数再算是可以的,但必竟使用中小数位不清楚,再加上此种情况极少,没必要为这了个去随时设置公式,大家知道避免一下就好。至于ROUND也是4舍5入,和EXCEL上面手动调小数位数一样的,不能避免此问题。
作者: 光头人1    时间: 2016-8-18 21:43
execl没有错,和你的保留位数有关系,另外execl没有四舍六入五成双的功能,如需要使用要自定义函数来实现。




欢迎光临 耐特信计量检测服务平台_计量管理软件 (http://weblims.cn/) Powered by Discuz! X3.2