Well, 12 of them actually

Sep 27, 2007 12:29 GMT  ·  By

Excel 2007 is the apex of the Excel series of products, and one of the pillars of the Office 2007 System made available concomitantly with Windows Vista in November 2006 to businesses, and in January 2007 to general consumers. Still, the modifications introduced to the calculation logic of Excel 2007 resulted in an issue related to calculating numbers around 65,535. In order to get an idea of the problem, you have to understand the way Excel 2007 would handle something as trivial as 77.1*850. The spreadsheet application, instead of returning 65,535, will round up the result to a value of 100,000. The exception was confirmed only in Excel 2007, and not in any of the older versions of the program.

"This issue was introduced when we were making changes to the Excel calculation logic in the Office 2007 time frame. Specifically, Excel incorrectly displays the result of a calculation in 12 very specific cases (outlined below). The key here is that the issue is actually not in the calculation itself (the result of the calculation stored in Excel's memory is correct), but only in the result that is shown in the sheet. Said another way, =850*77.1 will display an incorrect value, but if you then multiply the result by 2, you will get the correct answer (i.e. if A1 contains "=850*77.1", and A2 contains "=A1*2", A2 will return the correct answer of 131,070)", explained David Gainer, the Excel group program manager at Microsoft.

The problem is related to just 12 floating point numbers out of the total of 9.214*10^18 different values stored by Excel 2007. A floating point is the equivalent of an actual number, that in its turn is composed of a string of digits (or bits) in a numerical-representation system. The 12 floating point numbers are divided into six values each for the following numeric segments 65534.99999999995 and 65535, and 65535.99999999995 and 65536. These are numbers that cannot even be entered into Excel 2007 directly.

"We take calculation in Excel very seriously and we do everything we can in order to ensure that calculation is correct for all cases. We've come up with a fix for this issue and are in the final phases of a broad test pass in order to ensure that the fix works and doesn't introduce any additional issues - especially any other calculation issues. This fix then needs to make its way through our official build lab and onto a download site - which we expect to happen very soon", promised Gainer.