-PR-
締切り
済み

EXCELの小数計算について

  • 暇なときにでも
  • 質問No.3731
  • 閲覧数494
  • ありがとう数5
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 56% (17/30)

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
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全2件)

  • 回答No.1
レベル13

ベストアンサー率 26% (511/1924)

これはEXCELに限らずパソコンで小数点の計算をするときには避けられない部分 ですね。 有効桁数を設定して計算するしかないでしょうね。小数点以下15桁使うような計算 は別の手段を使うべきだと思います。 EXCELのヘルプで「ワークシートとブックの仕様」というページを探してくださ い。様々な制限事項が書かれています。 ...続きを読む
これはEXCELに限らずパソコンで小数点の計算をするときには避けられない部分
ですね。
有効桁数を設定して計算するしかないでしょうね。小数点以下15桁使うような計算
は別の手段を使うべきだと思います。
EXCELのヘルプで「ワークシートとブックの仕様」というページを探してくださ
い。様々な制限事項が書かれています。
補足コメント
hiro_cp

お礼率 56% (17/30)

ありがとうございました。EXCELのヘルプで「ワークシートとブックの仕様」を見てみました。いろいろな情報がありヘルプにこんなにたくさんの項目があるとは知りませんでした。
質問には小数点以下15桁の表現をしましたが実際小数点以下15桁使うような計算はしていません。
14.60-13.90=0.70は常に小数点以下3桁目を切り捨てるrounddown関数を使用していて0.69の表示がされたので計算違いが出ていると気が付いたのです。どうして0.70の表示にならなかったのか不思議に思い質問しました。
パソコンで小数点の計算をするときには避けられない部分では仕方ないですね
投稿日時 - 0000-00-00 00:00:00

  • 回答No.2
レベル12

ベストアンサー率 51% (254/492)

こんにちは  以下のページもご参考になるのでは? Housaka's Home Page-エクセル奇譚 http://member.nifty.ne.jp/housaka/kitan01.html Housaka's Home Page-エクセル奇譚 ~ 誤差アラカルト ~ http://member.nifty.ne.jp/housaka/kitan011.h ...続きを読む
こんにちは

 以下のページもご参考になるのでは?

Housaka's Home Page-エクセル奇譚
http://member.nifty.ne.jp/housaka/kitan01.html

Housaka's Home Page-エクセル奇譚 ~ 誤差アラカルト ~
http://member.nifty.ne.jp/housaka/kitan011.html

[XL97] 浮動小数点数値演算の結果に含まれる丸め誤差について
http://www.microsoft.com/japan/support/kb/articles/J042/5/26.htm

[XL97] 数値を比較した結果が正しく返らないケースについて
http://www.microsoft.com/japan/support/kb/articles/J042/5/24.htm

[XL97] 特定の小数部を持つ数値を入力した場合に誤差を生じる
http://www.microsoft.com/japan/support/kb/articles/J042/5/25.htm

[XL] 浮動小数点の計算誤差と IEEE フォ-マット
http://www.microsoft.com/japan/support/kb/articles/J013/9/67.htm

ROUND関数の結果を正常にするには?
http://cgi.fuji.ne.jp/~fj2094/cgi-bin2/wwwlng.cgi?print+200009/00090045.txt

四捨五入するには
http://cgi.fuji.ne.jp/~fj2094/cgi-bin1/wwwlng.cgi?print+200005/00050122.txt

入力規則が正しく判定されないんです
http://cgi.fuji.ne.jp/~fj2094/cgi-bin1/wwwlng.cgi?print+200012/00120088.txt

計算結果がセルの表示と異なるのは?
http://www.moug.net/boards/exopr/questbbs.cgi?ShowTopic=./logfiles/200009/00090086.txt
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ