Excel's all right ' it just doesn't 'look' right

GCN Insider | Excel multiplies right, but displays wrong

How can we judge the seriousness of a bug is when it first appears? Last month, word got around that Microsoft Office Excel 2007 was calculating a set of numbers of incorrectly. It was the worst of all possible bugs: the kind that appears only erratically. If you multiply two numbers that equal 65,535 ' such as 850 and 77.1 ' chances are the spreadsheet will show 100,000 rather than the correct answer.

What was maddening was that it happened with some combinations of numbers and not others.

On first glance, it appeared to be quite serious. Millions of copies of Office 2007 are already in circulation and keeping track of vital metrics, such as finances or remaining vacation time.

But the bug is inconsequential ' not a calculation error at all. Days after it was exposed on a newsgroup, the Excel development team and independent observers noted that the bug only changed the display, not the actual calculation. If you have Excel in Office 2007, you can test it: In one cell, multiply 850 by 77.1. You'll see 100,000. Multiply that answer by two, and you will get the correct answer: 131,070.

Excel would calculate the answer correctly but display the wrong number. The part of Excel that formats the answer is a different operation from the calculation itself. And the display operation is faulty, thanks to quirks in floating-point representation (See GCN.com/854). So calculations based on the seemingly ill multiplicative sets will still be correct ' and your Excel spreadsheets remain reliable as ever. But if you notice a sudden jump in budget figures, you might want to check them before spending the extra money on new laptops. Microsoft plans to issue a corrective patch shortly.

About the Author

Joab Jackson is the senior technology editor for Government Computer News.

Reader Comments

Please post your comments here. Comments are moderated, so they may not appear immediately after submitting. We will not post comments that we consider abusive or off-topic.

Please type the letters/numbers you see above