質問: 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のバグなのでしょうか?
回答: こんにちは 以下のページもご参考になるのでは? 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