Wednesday, February 13, 2008

Error on Excel Miscalculation

Microsoft forum.
http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=mi
crosoft.public.excel.misc&tid=8e513cdf-5a41-495f-bd8a-e5e9f4c2cafb&cat=&
lang=&cr=&sloc=&p=1

A1 = 154.2
B1 = 1700
C1 = A1*B1 give answer 262140 (correct)
D1 = 4
E1 = C1/D1 give answer 100000 (incorrect, the answer must be 65535)


Calculation Issue Update
http://blogs.msdn.com/excel/archive/2007/09/25/calculation-issue-update.
aspx
Yesterday we were alerted to an issue in Excel 2007 (and Excel Services
2007) involving calculation of numbers around 65,535. The Excel team
would like to provide a description of the issue and explain what we're
doing about it.

Background
Yesterday evening we were alerted to an issue in Excel 2007 (and Excel
Services 2007) involving calculation of numbers around 65,535. The
first example that we heard about was =77.1*850, but it became clear
from our testing as well as additional reports that this was just one
instance where Excel 2007 would return a value of 100,000 instead of
65,535. The majority of these additional reports were focused on
multiplication (ex. =5.1*12850; =10.2*6425; =20.4*3212.5 ), but our
testing showed that this really didn't have anything do to with
multiplication - it manifested itself with many but not all calculations
in Excel that should have resulted in 65,535 (=65535*1 and =16383.75*4
worked for instance). Further testing showed a similar phenomenon with
65,536 as well. This issue only exists in Excel 2007, not previous
versions.

The Problem
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).

So what, specifically, are the values that cause this display problem?
Of the 9.214*10^18 different floating point numbers (floating point on
wikipedia) that Excel 2007 can store, there are 6 floating point numbers
(using binary representation) between 65534.99999999995 and 65535, and 6
between 65535.99999999995 and 65536 that cause this problem. You can't
actually enter these numbers into Excel directly (since Excel will round
to 15 digits on entry), but any calculation returning one of those
results will display this issue if the results of the calculation are
displayed in a cell. All other calculation results are not affected.

The Solution
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. We'll add another
post once that's taken place with a link to the download.

Caused by :
http://blogs.zdnet.com/hardware/?p=812
So what, specifically, are the values that cause this display problem?
Of the 9.214*10^18 different floating point numbers (floating point on
wikipedia) that Excel 2007 can store, there are 6 floating point numbers
(using binary representation) between 65534.99999999995 and 65535, and 6
between 65535.99999999995 and 65536 that cause this problem. You can't
actually enter these numbers into Excel directly (since Excel will round
to 15 digits on entry), but any calculation returning one of those
results will display this issue if the results of the calculation are
displayed in a cell. All other calculation results are not affected.

Solution
http://blogs.msdn.com/excel/archive/2007/09/25/calculation-issue-update.
aspx
Calculation Issue Update (Fix Available)

Two weeks ago, we posted about an issue involving the calculation of
numbers around 65,535 and 65,536. As of today, fixes for this issue in
Excel 2007 and Excel Services 2007 are available for download from the
following locations:

Excel 2007:
http://download.microsoft.com/download/6/1/3/61343075-aa12-4152-a761-fcc
c16d6cef4/office-kb943075-fullfile-x86-glb.exe
64-bit Excel Services 2007:
http://download.microsoft.com/download/c/d/c/cdcccd84-86cd-4199-b01c-1df
2dac66534/office-kb943076-fullfile-x64-glb.exe
32-bit Excel Services 2007:
http://download.microsoft.com/download/c/d/c/cdcccd84-86cd-4199-b01c-1df
2dac66534/office-kb943076-fullfile-x86-glb.exe

KB Articles have been posted as well:

Excel 2007: http://support.microsoft.com/default.aspx/kb/943075/
Excel Services 2007: http://support.microsoft.com/default.aspx/kb/943076

We are in the process of adding this fix to Microsoft Update so that it
will get automatically pushed to users running Excel 2007 or Excel
Services 2007. Additionally, the fix will also be contained in the
first service pack of Office 2007 when it is released (the release date
for SP1 of Office 2007 has not been finalized).

Thank you for your patience,

The Excel Team

No comments:

Google
If you think my website is useful, please donate, contribute, ask question, & discussion can be addressed by contacting me at dcputranto et yahoo dot com. Thanks to .. unique person coming..
Feel know more.. To keep my research continue and provide better review/assessment and knowledge, feel free to donate by clicking button below....