Just another thought would be if one was expecting the sum to be 0, then
=ROUNDUP(A6,0) would also return 0. But it returns 1! Oops.
The small number that one sees (8.88178E-16) is the same as:
=POWER(2,-50)
Others have pointed out that during a calculation, Excel will carry these
small errors till the end, then try to correct. Ie Sum(...)
Sometimes if you break the calculation up, Excel may be able to round these
errors earlier. For example, both:
=(A1+A2)+(A3+A4)
and
=A1+(A2+A3+A4)
return 0
Interesting subject of course...
--
Dana DeLouis
Win XP & Office 2003
"Niek Otten" wrote in message
...
Hi Biff,
Interesting thought. Suppose you're NASA and you're aiming at the moon.
You may be off .0000000000000th of a %. The moon's diameter is...etc.
But then, if you aim at a planet and miss the surface, not the centre, by
such a %, and there is an atmosphere, you may well get burned.
It all depends on the application's need. In general, an error of
onehundredbilliardth part of a promille is not shocking.
--
Kind Regards,
Niek Otten
Microsoft MVP - Excel
"Biff" wrote in message
...
So, are you saying that NASA should not be using Excel?
Biff
"Harlan Grove" wrote in message
ups.com...
Alex Andronov wrote:
In that document it says: "Excel 97, however, introduced an
optimization
that attempts to correct for this problem. Should an addition or
subtraction
operation result in a value at or very close to zero, Excel 97 and
later will
compensate for any error introduced as a result of converting an
operand to
and from binary. The example above when performed in Excel 97 and
later
correctly displays 0 or 0.000000000000000E+00 in scientific notation."
And you believe online help? That's somewhat unfair: note the keyword
'attempts'.
What it means is that if you enter the formula
=2.7-4.3+2.2+5.2-5.8
it does evaluate to zero. However, if these values are in different
cells, all bets are off. Interestingly, if you change the order of the
expressions so that the 5.2-5.8 expression doesn't come last, Excel
will return 0.
Getting back to the main point, use ROUND if you want a rounded result.
In this case, =ROUND(SUM(yourrange),6) would return 0.
|