EXCEL 总和舍入

EXCEL 总和舍入

向所有超级用户问好!

我想问一下我今天发现的一个有趣的事情,与 excel 中四舍五入中的求和函数有关。我有以下一组数字(它们四舍五入到小数点后几位 - 每个数字后面没有其他小数):

0.140495867768595,
0.173553719008264,
0.206611570247934,
0.076741440377804,
0.0826446280991736,
0.118063754427391,
0.063754427390791,
0.0814639905548997,
0.0566706021251476,

当我在 Excel 中执行一个简单的求和函数时,结果等于 1.000000000000000000,但是当我将这些数字放入计算器中时,结果等于 0.99999999999999999(这是正确的)-> 因此,我的问题是,有没有办法设置 Excel 的行为以正确计算,为什么计算错误?提前感谢大家的建议!

答案1

Excel 数字值的精度为 15 位。第 15 位之后的所有内容都将显示为 0。

Microsoft 支持文章

解决方法:如果要显示超过 16 位有效数字,则需要以文本形式输入值,即以单引号开头,然后输入该值。

答案2

Excel 存储 15 位有效数字的精度。因此,列表中的第五个值 -- 0.0826446280991736,将被视为0.082644628099174总和。列表中的第八和第九个值也是如此。

https://www.microsoft.com/en-us/microsoft-365/blog/2008/04/10/understanding-floating-point-precision-aka-why-does-excel-give-me-seemingly-wrong-answers/有关 Excel 如何存储数字的更多信息。

答案3

Excel 仅存储15 位有效数字精度。任何超过 15 位有效数字的数值都将圆形

因此,结果0.9999999999999999四舍五入为1.00000000000000,即1

Input                     Sum (by Excel)           Sum (Actual)
-----------------------   ----------------------   -----------------------
0.140495867768595  [15]   0.140495867768595 [15]   0.140495867768595  [15]  
0.173553719008264  [15]   0.314049586776859 [15]   0.314049586776859  [15]  
0.206611570247934  [15]   0.520661157024793 [15]   0.520661157024793  [15]  
0.076741440377804  [14]   0.597402597402597 [15]   0.597402597402597  [15]  
0.0826446280991736 [15]   0.680047225501771 [15]   0.6800472255017706 [16]   
0.118063754427391  [15]   0.798110979929162 [15]   0.7981109799291616 [16]   
0.063754427390791  [14]   0.861865407319953 [15]   0.8618654073199526 [16]   
0.0814639905548997 [15]   0.943329397874852 [15]   0.9433293978748523 [16]   
0.0566706021251476 [15]   1.00000000000000  [15]   0.9999999999999999 [16]   
0.000000000000001  [ 1]   1.00000000000000  [15]   1.0000000000000009 [17]   <-- Bonus info

[ ] = number of significant digits

奖励:即使你再添加一位0.000000000000001(小数点后第 15 位),结果仍然是1

参考:https://en.wikipedia.org/wiki/Numeric_precision_in_Microsoft_Excel

相关内容