Wednesday, September 26, 2007

Excel Bug??

When i was in my campus, my friend, Yahya Kurniawan sent me a message via YM about a bug on Microsoft Excel 2007. He said that he got this from some mailing list, but i didn't ask further. He asked me to try this simple calculation on Excel 2007:

=850*77.1 (a simple multiplication formula)

If you calculate this using a normal calculator, the correct result should be 65535, but in Excel 2007, it was calculated as 100000. Is this one of Microsoft's hidden easter egg? I don't think so, since this behavior is only at Microsoft Excel 2007. I tried this on 2003 and it worked like normal. I also tried this on OOo and it calculated correctly. Any ideas where this number came from? I really have no idea confused

Update (27 September 09:00 AM) : It seems that not only the above sample that works, but there are some other examples. Like this one:

=4.1-2*2

If you just write down, it may display the correct answer, 0,1 (or 0.1 in some countries, due to separator difference), but what happened when you format the cell and ask them to display 17 digits after the separator? You will get 0.09999999999999960, and not 0.1 anymore (well, if that number is rounded, you still get 0.1, but does it should be a 0.10000000000000000 ??) big grin

Well, Microsoft has noticed this and wrote a description about this bug and they are working on the solutions (Thanks to Fajran) and Joel On Software also wrote about this bug and showing his experience working back with Excel team few years ago. It's quite technical, but i think you will get it

Here's the screenshot:

Excel 2007 Bug

Excel 2007 Bug