- ベストアンサー
エクセルの計算
エクセルで、セルに 1.9999、3.9999、2.9999と入力、隣にオートサムで結果が8.9997 同じように下の段に 2.7896、4.5678、1.111と入力、隣にオートサムで結果が8.4685 とします。 このとき、オートサムした結果同士を引き算します。 8.9997-8.4685となります。この結果を小数点を 何十位までも表示すると、 0.5311999・・・・・と表示されます。 小数点第4位まで同士の引き算なのに、 どうして、それより下の桁が表示されるのでしょうか・・??
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
以下のサイトが参考になれば良いのですが・・・
その他の回答 (5)
「どうして、それより下の桁が表示されるのでしょうか」への回答については、No.5 に示された[参考URL]を参照いただくとして、私が取る常套手段は「オートサムした結果同士を引き算」に適切な対策を施します。 2つの「オートサム結果」がそれぞれセル D1、D2 にあると仮定すると、「オートサムした結果同士を引き算」した式を =ROUND(D1-D2,10) とすれば好い。
- kenken0
- ベストアンサー率24% (46/190)
単に8.9997-8.4685の計算をすれば、問題なく0.5313000・・・と表示されるにもかかわらず、関数を用いたり、A+B+Cのように合計を出し、その結果を用いて引き算をすると、0.531299999999・・・80と表示されますね。。ん~・・・バグですかね?ちょっと考えてみようと思います 笑
- miwaharu
- ベストアンサー率25% (29/112)
こんにちは、回答にならないかもしれませが、 パソコンが計算するときにいったん2進数 に置き換えて計算するためだと思います。 1を3で割ると0.33333・・・・・・ となりますが、0.1を2進数で表示すると 同じようなことが起こります。 小数の計算には誤差が生じるので、注意が必要です。 ちなみにエクセルは15桁しか持っていません。 ためしに15桁以上入力してみてください。 15桁以上は切り上げているようです。 ためしに(3÷3)×3をすると1になります
- chukenkenkou
- ベストアンサー率43% (833/1926)
>この結果を小数点を何十位までも表示すると 有効桁数を広げた結果、Excel内部でのデータ管理方式が変わっているのだと思われます。 コンピュータ内部で数値を管理する場合、幾つかのデータ形式があり、無限の桁数を管理出来る訳ではありません。 小数部の桁数を大きくした結果、数値に誤差(桁落ち)が発生するようになったものです。 Excelに対して「小数の桁を多く」と指示しており、「小数以下4桁しか入力されない」ということは、Excelには分かりません。
- kadakun1
- ベストアンサー率25% (1507/5848)
excel2003ですが・・・「0.5312」になりますが??? 新規シートでやってもダメでしょうか?