Excel无法正确计算简单的算术运算

时间:2018-01-22 13:06:41

标签: excel

我在Excel中有一个包含两个colymns的表:AB。从第二行开始,列BB列获取一个值,高一行,并从列A中减去一行中的值。

332 406 053,41    |   3 300 000 000,00
0,00              |   2 967 593 946,59
0,00              |   2 967 593 946,59
0,00              |   2 967 593 946,59
0,00              |   2 967 593 946,59
0,00              |   2 967 593 946,59
0,00              |   2 967 593 946,59
0,00              |   2 967 593 946,59
0,00              |   2 967 593 946,59
110 802 017,80    |   2 967 593 946,59
110 802 017,80    |   2 856 791 928,79
110 802 017,80    |   2 745 989 910,99
0,00              |   2 635 187 893,19
585 597 309,59    |   2 635 187 893,19
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
0,00              |   2 049 590 583,60
55 634 374,57     |   2 049 590 583,60
55 634 374,57     |   1 993 956 209,03
55 634 374,57     |   1 938 321 834,46
55 634 374,57     |   1 882 687 459,88
55 634 374,57     |   1 827 053 085,31
55 634 374,57     |   1 771 418 710,74
55 634 374,57     |   1 715 784 336,17
55 634 374,57     |   1 660 149 961,60
55 634 374,57     |   1 604 515 587,03
55 634 374,57     |   1 548 881 212,46
55 634 374,57     |   1 493 246 837,89
55 634 374,57     |   1 437 612 463,32
55 634 374,57     |   1 381 978 088,75
55 634 374,57     |   1 326 343 714,17
55 634 374,57     |   1 270 709 339,60
55 634 374,57     |   1 215 074 965,03
55 634 374,57     |   1 159 440 590,46
55 634 374,57     |   1 103 806 215,89
55 634 374,57     |   1 048 171 841,32
55 634 374,57     |   992 537 466,75
55 634 374,57     |   936 903 092,18
55 634 374,57     |   881 268 717,61
55 634 374,57     |   825 634 343,04
769 999 968,47    |   769 999 968,47
0,00              |   -0,0000010729

enter image description here

A中的总和等于B1中的值。但是,最后B的最后一行不等于0.它小于零并且是一个浮点数。

如何可能以及如何在所有减法后获得零?我之前做过类似的计算没有问题。

1 个答案:

答案 0 :(得分:3)

错误消息:Excel对所有数字单元使用IEEE754双精度浮点类型。

这给你提供了大约15个十进制有效精度数字(从不比这更差,有时更好)。

你的数字大约是12位有效数字,而你在这里计算的增量计算的数量是这样的,你可以将错误的积累推向显着位置。

除了将最终结果舍入到三位小数,或者重新审视逻辑以减少计算过程的深度之外,你可以做很多事情。

有关详细信息,请参阅Is floating point math broken?