• ベストアンサー

IF関数の計算式について教えてください

以下の式の場合、「真の場合」として扱われません。 [条件] セルA1=0.9 セルA2=0.9(=0.6+0.3で入力) [計算式] =IF(A1-A2>=0,"真","偽") 通常の計算であれば「0」となるため、「真」が返るはずなのですが 「偽」が返ってしまいます。 「真」が返る方法ありますか?

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

多分、演算誤差の事でしょうか。 パソコンは、2進法で計算しているので、上記の式の様な比較の場合、 期待している答えにならないことがあります。 Webで、パソコン 演算誤差 で検索してみてください。 =IF(ROUND(A1,1)-ROUND(A2,1)>=0,"真","偽") としてみてはいかがでしょうか。

macooooooo
質問者

お礼

みなさま、ご回答ありがとうございました。 質問が間違ってました!! SUMで計算した値をA1、A2に入れた場合に「偽」が返ってしまうというのが問題でした。 hallo-2007さんの回答にある演算誤差のようです。 助かりました。 ありがとうございました。

その他の回答 (3)

  • taitirou
  • ベストアンサー率23% (33/138)
回答No.4

逆に 偽が くる方法は セルA1 A2が 数字ではなく 文字の扱いになっている 計算式が ”-”のつもりが ほかの横棒等になっている  ”0”が”O" ぜろが アルファベットのおう もしくは記号のまる になっている ここらへんは 大丈夫かな?

  • SAKUJOU
  • ベストアンサー率26% (93/354)
回答No.2

今やってみたところ、「真」が返りましたが...

  • mizuki_h
  • ベストアンサー率33% (176/524)
回答No.1

試しにその条件でやってみたのですが、「真」が返ってきました。 ちなみにエクセルのバージョンは「Excel2000 9.0.3021 SR-1」、OSはWindws XPです。

関連するQ&A