- ベストアンサー
0に計算されません。
エクセルで以下のセルの合計を求めたいのですが、答えが期待する0にはならず、1.31783E-13と表示されます。 1つセルを抜かした場合の合計は、残りの1つのセルを足せば0になる数値で表示されますし、+と-毎にセルを分けsum()を使っても同一の絶対値になります。 どうすれば、以下の合計が0と計算してくれるのでしょうか? -0.039289402 0.287433851 -0.105799564 1.484977735 0.310788519 -0.191819373 0.779698475 -0.191819373 -0.448235111 1.484977735 -1.282485637 -0.25724289 -2.256294801 -0.627764427 1.465887431 -0.413013169
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
計算結果のセルを選択し、右クリックでセルの書式を選択し、表示形式を選択し、分類を数値で選択し、小数点以下の桁数を9にしてください。 答えが-0.000000001 となり、0にならないことがわかるはずです。 小数点第9位の数値を1の位にして計算すると、-11になりますので、0にはなりませんね。
その他の回答 (2)
- wogota
- ベストアンサー率42% (66/154)
エクセルでは、小数を内部で2進数として保持しています。10進数ではキリの いい数値でも、2進数では循環数となることも多く、その誤差を丸めることで 大体の計算がすんなりとできます。 丸めた誤差が出てくる場合は今回のケースに限らず、簡単な計算でも発生します。 (1-0.2-0.2-0.2-0.2-0.2でも出てくるかなぁ・・・) 新しいバージョンでは、その部分の対処がされているようです。 その辺の事情・解決法などはマイクロソフトのページで [JP78113 - [XL97]浮動小数点数値演算の結果に含まれる丸め誤差について] を参照された方が良いかと思います。 検索すると、奥村晴彦氏(松阪大)のページで丸め誤差を扱う内容がありましたので、 挙げておきます。
- m-happy-t
- ベストアンサー率30% (72/239)
今試しました。 表示形式を数値にすると0になります
お礼
丸め誤差は、簡単な計算でも起こるということで、エクセル以外にも今後意識していこうと思います。 ありがとうございました。 なお、1-0.2-0.2-0.2-0.2-0.2は、2002(現在の最新バージョン)では0になり対処されているようでした。