Excel SUM anomaly

Excel can’t add up — can you find other examples?

Phil N sent us an interesting Excel worksheet.  He’s simply adding a column of numbers starting with a negative number then positive numbers – the total should be ‘a wash’ – that is add up to zero.

 -127552 103130 1807.75 7390.11 9028.59 2831.26 1568.9 1794.71

but according to Excel 2002 and Excel 2007 the total isn’t exactly zero when you expand the number of digits to the right of the decimal point:

 8.6402e-12

If you’re just looking at a few decimal places the problem won’t be apparent.

You might think that these sorts of issues don’t matter but it becomes a problem when you do tests on the result – for example a simple IF test to see if the result is zero will return a False answer.

There’s also an argument that the responsibility is on users to put proper tests into their worksheets to avoid these issues – that’s true to some extent but the primary responsibility is with Microsoft.  Excel should be able to handle simple addition as well as my handheld calculator.

The surprise in Phil’s example is that it involves simple addition – often there’s hassles with multipy or divide which have long remainders.  But it’s hard to understand why the addition of numbers to 2 decimal places gives a result with a remainder in the 9th decimal place and beyond.

Here’s the worksheet in Excel 2007 includes a IF statement test:

The test formula is simple: =IF(A9=0,”Yes”,”No”)

It’s revealing to look at progressive SUM results starting with adding all cells A1:A8 as above then removing one cell each time down to A1:A2.

As you can see, the problem starts when adding A1:A5 and beyond.

Excel has all sorts of strange behaviors like this and it’s about time they were stomped out.

We’d like to hear from other Office Watch readers who have confirmed simple maths anomalies.

Email us with a sample worksheet, version of Excel and explanation  ExcelCantAdd@office-watch.com

We’d like to compile some examples and submit them to Microsoft — maybe they’ll consider a revamp of Excel’s basic maths ability.  Microsoft has been too complacent about this for too long – they appear to assume the core Excel code is perfect, clearly it isn’t.