使用if语句时计算的奇怪问题

时间:2013-02-13 07:06:55

标签: excel excel-formula

所以我有一张excel表,如下所示:(我已经取出所有相关信息)

enter image description here

D是一个已被拖动到所有单元格的公式(更改行号):

=IF(A2 = "",$D1-C2,A2 - C2)

如果您看到单元格D6,您会发现它有某种错误。我已经包含了两个例子。表的下半部分使用相同的公式正常工作。第一部分不起作用,我假设它因为0.985,它似乎只发生在0.9以上但低于1.

是否有人能够帮助找出问题所在?

2 个答案:

答案 0 :(得分:2)

看起来像浮点数上的舍入错误(有关详细信息,请参阅IEEE floating point)。您可以在特定小数位数上使用round来解决此问题,例如: 如果你需要的话,round(D6, 3)会将D6舍入到小数点后3位以获得更好的精确度。

答案 1 :(得分:1)

这不是错误,它是科学记数法。它显示的值是3.33*10^(-16),或0.00000000000000333067(希望我算得那么正确)。

这基本上是一个舍入错误。如果您希望列对于接近零的值显示零,则将列格式化为具有有限小数位数的数字。