• ベストアンサー

小数点以下の数字の出現

お尋ね致します。エクセル2013を使っています。 次の関数を作りました。 =IF(Q266="b",V266-U266,U266-V266)*100 すると、U,V列には小数点以下3桁までの数字しか入力していないのですが、この関数の欄には、小数点14桁くらいまでの変な数字が出現してしまいます。例えば、5のはずが4.99999999999875とかになります。 別の列にこの答えが5なら...というような関数を入れたのに、TRUE FALSEが正しく返って来ないので気が付きました。ここで作業が止まってしまい、困っています。 これはなぜなんでしょうか? 説明、伝わってますでしょうか? 補足が必要でしたらご教示ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • shintaro-2
  • ベストアンサー率36% (2266/6245)
回答No.2

こんなところが参考になるかと PC21 “達人”芳坂和行氏に学ぶ、エクセル「演算誤差」対策講座 http://pc.nikkeibp.co.jp/pc21/special/gosa/ MS Excel で浮動小数点演算の結果が正しくない場合がある http://support.microsoft.com/kb/78113/ja

noname#207972
質問者

お礼

勉強不足でした。ありがとうございました。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

狙うと出せない浮動小数点誤差ですが、小数点以下を持った数字同士を四則演算すると現れます。 >5のはずが4.99999999999875とか =ROUND(IF(Q266="b",V266-U266,U266-V266)*100,3) などのように、適切な桁で丸めておきます。

noname#207972
質問者

お礼

お礼したはずなのに消えているようなので再度。。。 ありがとうございました。大変助かりました。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

デジタルでの計算の精度限界による計算誤差です。