Avoid MS Excel 2007

MS Excel has a certain multiplication bug reproduced by doing multiplication that would result to 65,535 (0xFFFF). Try =850*77.1 on yours.

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.