- 締切済み
EXCELの小数計算について
EXCEL97で小数計算をすると誤差がでるのですが何故ですか? A列に14.60を数値入力 B列に13.90を数値入力 C列に=B1-A1の数式をいれると-0.70となるはずなのにどういうわけか -0.699999999999999と表示される。 小数点以下14桁目までは-0.70000000000000と表示されるが15桁目で上記のように表示される。 表面上はROUND関数などで処理できるのですが複数の数式を組み合わせて計算している時は-0.69999・・・の数値をもって計算される場合があり誤差がでる。 消費税や金利計算などで1円でも誤差がでると表計算の正確さが問われてしまう。 0.7の他にも 次の場合もでる 0.2のとき0.1999・・ 0.3のとき0.2999・・・・ 0.8のとき0.7999・・・・ これはEXCELのバグなのでしょうか?
- みんなの回答 (2)
- 専門家の回答
補足
ありがとうございました。EXCELのヘルプで「ワークシートとブックの仕様」を見てみました。いろいろな情報がありヘルプにこんなにたくさんの項目があるとは知りませんでした。 質問には小数点以下15桁の表現をしましたが実際小数点以下15桁使うような計算はしていません。 14.60-13.90=0.70は常に小数点以下3桁目を切り捨てるrounddown関数を使用していて0.69の表示がされたので計算違いが出ていると気が付いたのです。どうして0.70の表示にならなかったのか不思議に思い質問しました。 パソコンで小数点の計算をするときには避けられない部分では仕方ないですね