ヘルプの森~Excel・Access・Office全般ヘルプデスクサイト

No.014

負の小数値を合計したときに計算結果に誤差が生じる

2003/2007/2010/2013

合計を求める簡単な数式なのに、結果が合わないというお問い合わせをいただきました。その数式の特徴は、小数値の負の数を含みます。

例えば、次のようなケースです。表示形式は既定の標準です。

=11.12-11.15+0.03 または =(11.12-11.15)+0.03

結果は0と思いきや、セルには「-1.13798E-15」と表示されます。
この指数表示だとわかりにくいので、表示形式を[数値]に設定してみます。

するとセルの表示は「(0)」となります。やはり、マイナス値となっているようです。
そこで小数点の表示桁数を増やしてみます。
すると表示は「(0.00000000000000113797860)」となり、少数15桁のところから値が出てきました。

負の小数値の計算

この現象は、小数値によっては発生しないケースもあります。

この件調べましたら、次のマイクロソフトさんのサイトで説明されていました。

Excel で浮動小数点演算の結果が正しくない場合がある

先述の計算式では、先に計算される「11.12-11.15」で-0.03が格納されるときに生じる誤差ということのようなのです。

したがって、Excelの仕様と言ってよいこの現象を回避するには、端数処理の関数を使用して、計算結果を丸めてしまうというのが一番よい方法です。

twitter hatena line pocket

関連ヘルプ

循環参照を解決するために
=のあとに+が表示された「=+」から始まる数式の意味とは
数式で参照しているセルを変更しても、結果が更新されない
セルに計算結果ではなく数式が表示されている