比较价值和差异应该是相同的不是
我在Windows 7上使用Excel 2013。
我使用基本的IF和一些运算符做了一些Excel数据检查。 而且我遇到了一个问题,导致结果不一致。 我检查的是:
1.24 = 66.64 - 65.4
下面是我使用的公式,结果应该在math上是相等的,但它给我不等于:
=IF(1.24 = 66.64 - 65.4, "EQUAL", "NOT EQUAL") ;Result: NOT EQUAL
我试图稍微修改数据到:
=IF(1.24 = 56.64 - 55.4, "EQUAL", "NOT EQUAL") ;Result: EQUAL
我很惊讶,它返回正确的结果。
这是一个错误,如果是这样,有什么解决方法我可以用于类似的检查?
sorting的错误 – 我怀疑由于精度有限,而这又是表示浮点数的结果。 圆的方式是强制一些近似,说:
=IF(ROUND(1.24,2) = ROUND(56.64 - 55.4,2), "EQUAL", "NOT EQUAL")
Excel的15位精度浮点错误不会发生在每个数字组合上; 只有当小数由于有限的小数点数而向上舍入或向下舍入时。 时间值是臭名昭着的这些错误。
所以你的第一组数字( 1.24 = 66.64 - 65.4
)会在某个时候由于数字化而产生浮点错误。 第二组数字( 1.24 = 56.64 - 55.4
)愉快地没有performance出这种行为。
您可以在前面的图像中看到,如果足够扩展小数点,则浮点错误将变得明显。
更多浮点运算可能会导致Excel中不准确的结果 。