【发布时间】:2017-05-01 21:31:37
【问题描述】:
我偶然发现了一个从未遇到过的 Excel 2013 问题。
简而言之,我有一列(= 我的特定工作表的 V),它根据两个完全匹配的数字(即没有舍入错误)返回 0 或 1。这是对我工作的简单错误检查。
在单元格 F31 中,我有 = 0.1(手动输入)。在单元格 M31、L31 和 J31 中,我分别有 4.5、0.0 和 4.4。单元格 Q31 中的公式是 Q31 = M31 - L31 - J31。这是 4.5 - 0.0 - 4.4 = 0.1。这些数字都不是来自其他公式。应该没有舍入误差。
现在,在 V31 列中,我有 If(Q31=F31,0,1)。毫无疑问,0.1 [F31] = 0.1 [Q31],但是V中的返回值是1。这没有意义!
如果我输入其他值以使 Q31 不 = 0.1 但 F31 = Q31,则返回值应为 0(或 Q31 = F31)。例如,我可以将 F31 更改为 0.2,将 L31 更改为 4.3,这样 0.2 = 0.2 基于 4.5 - 0.0 - 4.3。这工作正常。
0.1 怎么了?
非常感谢! 埃里克
【问题讨论】:
-
将Q31中的小数展开你会得到
0.099999999999999600这是一个浮点错误。
标签: excel