Avoid MS Excel 2007

I’ve just read this news from /. about Microsoft Excel 2007.

I haven’t tried this myself as I’m usually on Linux and I use OpenOffice.org on my Windows partition as well, but I’ve just asked my classmate who has OEM Vista with Office 2007 to try it on his notebook. He confirms (as well as two more of my friends), MS Excel has a certain multiplication bug.

The bug could be reproduced by doing multiplication that would result to 65,535 (0xFFFF). Try =850*77.1 on yours. Excel 2007 would have displayed the result to be 100,000. According to one reply:

Suppose the formula is in A1.
=A1+1 returns 100001, which appears to show the formula is in fact 100000 and a very Serious problem.

And if you multiply be [sic] say, 2 you get something else:
=A1*2 returns 131070, as if A1 had 65535. (which it should have been)

=A1*1 Keeps it at 100000.

=A1-1 returns 65534

=A1/1 is still 100000

=A1/2 retuns [sic] 32767.5

A very serious problem indeed.

There were many speculations about the cause of the bug, but it usually points to the 16-bit to 32-bit internal data conversion since 65,535 is the cap of 16-bit integers. However, some points out to testers and programmers that are just not doing their jobs correctly.

This issue has been reported to Microsoft already. Consider waiting for an update from Microsoft before installing or upgrading unless you don’t mind valuable data and computations be fscked up 100,000 times more. Downgrade to MSO 2003 or switch to the free OpenOffice.org Calc for the meantime or forever.

8 Replies to “Avoid MS Excel 2007”

  1. I tried it myself…Ms Excel 2007 really doesn’t work the right way…
    thanks Aja for the info…”,


  2. That’s definitely a serious problem.

    Imagine, if someone used Excel to create a spreadsheet report for an important presentation and end up getting fired for coming up with the wrong figures? Yikes!

    Thanks for sharing! I’ll try it out later. 😀

  3. Jaypee, imagine Bill Gates embarrassing himself with a demo in front of media and a live audience … again. 😆

    Trench, good for you. 😉

  4. Thanks for that update, Wake T-rex! I guess that response from the Microsoft Excel Team was about 14 hours after I posted my entry.

    Anyway, I don’t think it is just a display problem. If you add 1 to a cell containing the miscalculated result (e.g. A2 is =A1+1 where A1 is =850*77.1), the result would be 100001. That invalidates their statement that the internal memory Excel has for the value of the cell is correct, and only the display is wrong.

Comments are closed.