Posted by: Stephen Wildstrom on October 1, 2007
Microsoft should be more abashed than it seems to be about a bug in Excel 2007 that causes certain multiplications that produce results very close to 65,535 or 65,536 to display incorrect answers. For example, if you multiply 850x77.1[see note below], the result is displayed as 100,000. The correct answer, 65,335, is stored and that’s what is used in most, but not all, operations when the cell is referenced.
In a post to the official Excel blog on the Microsoft Developers’ Network, David Gainer points out that the error only affects 12 specific values out of a total of more than a billion billion possible floating point numbers. I’ll have to take that on Microsoft’s word, but it’s really beside the point. Even one math error on a program counted on as much as Excel is won’t do. And it’s especially bad when it crops up in a new version of a program that has been around for as long as Excel has.
Gainer says that developers have come up with a preliminary fix that is now undergoing testing. They plan to test it thoroughly before releasing a patch, a very good idea because it is very easy for such repairs to cause new and unpredictable problems.
At least Microsoft is better off than Intel was when floating-point division errors turned up in the then-new Pentium processor. It had to recall and replace the bad chips, an expensive proposition. Microsoft can fix the damage, if not the embarrassment, through the all-too-common process of downloading a software patch.
NOTE: This was originally published as 805x77.1, an expression that gets the right answer in Excel but the wrong one in my post. Sorry for the fumble fingers--and even blogs need editors.