- ベストアンサー
Excelの計算式について
Excelの計算式について Excel2000を使用しているのですが、Excelの計算式の計算結果と 電卓を叩いて計算した結果が違っています。 計算式は単純な掛け算ですが、単純に数字の入っているセル同士の掛け算ではなく、 数式の入っているセル同士の掛け算なので、それが原因しているのでしょうか? どなたか解決策をお持ちの方がいらっしゃいましたら情報提供下さい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
(1)倍精度実数の有効桁 内部で使用する倍精度実数型は10進換算で有効桁が 15桁までです。これ以上の幅のある値の計算を行う と、下位桁は切り捨てられるので、誤差が生じます。 演算途中に一時的にでも15桁を超えると同じ現象が 発生します。 (2)少数部の表現 内部では2進数なので、2のべき乗、及びその和で 表現できる値以外は正確ではありません。 よって、少数部のある実数同士の演算では正確に 計算されないことがあります。 【2のべき乗】 0.5 = 2^(-1) 0.25 = 2^(-2) このように10.5とか2.25は正確に表現できますが、 12.37のような値は近似値にしかなりません。 回避手段としては29桁以内ならマクロで内部形式を 10進型に変換してから計算し、文字列として表示 するなら誤差は出ません。但し、これを計算に使う ことはできません。計算のため数値化する際に(1)の 現象が発生して誤差が出ます。
その他の回答 (2)
Excelなどのスプレッドシート形式のソフトは15桁までしか正確な計算はできません。16桁目には誤差を生じます。 例:1122334455667788と入力しても1122334455667780にされてしまします。 また、小数点を含む数値の計算には2進数の丸め誤差による微少誤差を生じます。 例:100.1-100-0.1=-5.68989E-15 いずれも有効桁に対して非常に小さい誤差ですが、厳密な計算を必要とする場合には不的確な数値が返ってくるため、そのような計算にExcelなどスプレッドシート形式のソフトで計算を行うことは好ましくありません。かけ算や割り算を繰り返すとこの微少誤差が大きくなってきて電卓で計算した結果と一致しなくなることがあります。 解決策は有効桁を念頭に置いた計算をするということでしょうか。 例:求めた計算結果を有効桁8桁に丸める。 または、厳密な計算が必要なときにはExcelを使用しない。
- 19721219
- ベストアンサー率24% (80/323)
その計算式は公開できないのですか? おそらくEXCELでの計算式と電卓の計算は、 計算順が間違っていると思われます。
お礼
それも考えられるかも知れませんね。回答有難うございました。
お礼
大変参考になりました。有難うございます!!