我有一个包含以下值的 Google 表格:
12.4840
-8.1870
-0.9630
-3.3210
3.4550
0.3140
3.3470
-7.1290
If I SUM()
这些,预期结果是0
(零)。但事实并非如此。 Google Sheets 返回的值实际上是0.000000000000000888178419700125
。这非常奇怪,因为没有一个值的小数位数超过 4 位。
我在调试了几个小时后发现了这一点,因为一些条件格式应该为每个具有0
值,但是这个(和其他一些)单元格不会相应地改变颜色。
我这里有一个例子:Stackoverflow 谷歌表格。有人可以解释一下这里出了什么问题,以及如何获得SUM()
返回真零?我已经尝试了一切(将输入格式设置为数字、文本、强制 sum() 公式中的数字),但似乎没有任何效果。
[更新] 我在工作表中添加了更多示例。
实际上,这不是一个错误,而且很常见。它被称为浮点“错误”,简而言之,它必须与十进制数字在谷歌表格中的存储方式有关(甚至excel或任何其他应用程序)
更多详情可在这找到:https://en.wikipedia.org/wiki/IEEE_754
为了解决这个问题,您需要引入舍入,例如:
=ROUND(SUM(A1:A))
这并不是适合所有情况的理想解决方案,因此根据您的要求,您可能需要使用这些而不是ROUND
:
ROUNDUP
ROUNDDOWN
TRUNC
TEXT
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)