Excel 先生ご乱心

Excel 2007 Multiplication Bug - Slashdot より。

Excel 2007 のセルに "850*77.1" を与えると、出力がなぜか 100,000 になってしまうようです。法則があるのかと思いいろいろ試したのですが、"120*546.125" や "50*1310.7" では残念ですが再現しないようです。

不具合の起きたセルに 0 から 10 までの整数を四則演算させましたが、

  • 0 を加算すると 100,000 となる
  • 1 を加算すると 100,001 となる
  • 0 を減算すると 100,000 となる
  • 1 を乗算すると 100,000 となる
  • 1 を除算すると 100,000 となる

ことについて、手元でも異常を確認しました。それ以外はどれも正常な出力 (65,535 を演算させた結果と同じ出力) になるようです。0.1 から 0.9 まで 0.1 刻みの小数を四則演算させても、正常な出力が得られます。
また、"850*77.1" のセルと "65535" のセルを if で比較すると "TRUE" になります。それぞれの四則演算の結果を比較しても "TRUE" です。つまり、内部的には同じ値として扱われているようなので、数値を表示する際のプロセスに微妙な問題があるものと推測できます。
ルーチン分析できそうですが、めんどくさいので誰かよろしくです。あと怖くて夜も眠れないので、マイクロソフトさんはとっとと直してくだせぇ。