Eric wrote:
If using round to make sure it only have two decimal point, when sum it up it still can't get zero.
You are rounding the wrong things. In the second example, assuming that column B contains constants (e.g. you typed 2942.7; you did not calculate it), there is no reason to round them to the same or greater precision.
What you need to round is the SUM formula. Write =ROUND(SUM(B2:B180),2).
In general, whenever you expect a
calculation to be accurate to some number of decimal places (e.g. 2), explicitly round the calculation to
that number of decimal places (e.g. ROUND(...,2)) -- and
not to an arbitrary number of decimal places, like 10, as some people suggest.
This has nothing to do with the version or update of Excel that you have. It is an inherent side-effect of the way that Excel represents numeric values internally, namely 64-bit binary floating-point. Most decimal fractions cannot be represented exactly
in that binary form. And the binary approximation of a particular decimal fraction varies depending on the magnitude of the number.
That is why, for example, IF(10.1 - 10 = 0.1, TRUE) returns FALSE(!).
However, there is an alternative to explicit rounding formulas: setting the "Precision As Displayed" option. That might explain why other users do not experience the problem. Or they might simply have not stumbled across the problem yet.
I deprecate the use of PAD for many reasons. Chief among them: merely setting the PAD can alter some constants
irreversibly, which can alter the outcome of calculations anywhere in the workbook.
For that reason, if you choose to experiment with PAD, be sure to make a back-up copy of the Excel first.