View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.worksheet.functions
Shane Devenshire[_2_] Shane Devenshire[_2_] is offline
external usenet poster
 
Posts: 3,346
Default Is this a bug in excel?

Hi,

Computers work in binary, we work in decimals which results in
approximations by Excel and any computer.

Here is everything you need to know about this issue (and more):

http://support.microsoft.com/kb/78113/en-us
http://support.microsoft.com/kb/42980
http://support.microsoft.com/kb/214118
http://www.cpearson.com/excel/rounding.htm
http://docs.sun.com/source/806-3568/ncg_goldberg.html

--
If this helps, please click the Yes button.

Cheers,
Shane Devenshire


"Mister_T" wrote:

I have the following formula in excel:

=IF((F157+G157)0,IF(B157<"#",(L156+G157-F157),L156),0)

The first two IFs evaluate to true so the result is basicaly L156+G157-F157
and the values are

(58,511.55 + 86.66 - <empty cell) [The 58k value is itself a result of
another formula like the above]

You would expect 58,598.21 but instead excel gives 58,598.210000000100000

Setting up three additional formulas that are just an equals on the two data
cells and the result gives the following:

58,511.55000000000000000
86.6600000000000000000

58,598.210000000100000000

Doing an 'Evaluate Formula' gives

IF(TRUE,IF(TRUE,(58511.55+86.66-F157),L156),0) and then

IF(TRUE,IF(TRUE,(58,598.2100000001-F157),L156),0)

AAARRRRGGGHHHHH!!!!! What is going on. I don't see how this can be anything
other than a bug. I have searched the MS site to look for a way of reporting
a bug but there doesn't seem to be one. Anyone got any ideas on this probelm
or know how to report a bug

Changing the 86.66 to .65 or .67 removes the 1 at the 10th decimal place. I
can work around it by using two rows in my sheet to make up the 86.66
transaction but if this keeps happening it is going to be very annoying.