• ベストアンサー

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

  • IF関数

    Window98を使用しております。エクセルに関してですが、基本的な事ですいません。IF関数で、条件が3つある場合、例えば100000以上が達成、80000以上が努力、80000未満が検討という場合関数を使用して最初の論理式の所で、>=100000と入力しまして、その後、真の場合の所で、達成と入力、そして、最後の偽の所で、もう一度IFを使用したのですが、それを押すと・+if(if()となってしまい。また一旦閉じて計算式の所で、IFを押したら+ifとなって、余分な+がついてしまいました。設定方法が悪いのか?入力の仕方が悪いのか?どうすればいいのか教えてください。

  • if関数がわかりません。

    if関数がわかりません。 エクセルを少しかじっただけの初心者です。 上司に言われて表をつくっているのですが行き詰まって質問させていただきました。 もし○○○○なら △という値をかえす そうでないなら□という値をかえす となるのがif関数だと思うのですが 返すのが値ではなくもし○○○○なら入力されているフォントが赤くなる そうでないならフォントが黒くなるという設定は可能ですか? もし可能なら引数の設定でどうなりますか?  論理式   A1=○○○○(もしA1のセルが=○○○○なら)  真の場合       (フォントを赤の色にする) 偽の場合       (フォントを黒の色にする) よろしく「お願いいたします。

  • 以下のIF関数について間違いがあればご指摘ください

    当方、関数式を学び中ですがIF関数を以下の例を使って組み立てましたが違っているかもしれませんのでご指摘ください。 たとえばA3に、A1かA2いずれかのセルから減算した数を示す場合の関数式を求めることが目的です。 A1セルとA2セルの一方は正数、かつ一方は0となる。 (たとえば「A1」に「100」という数値がある場合はA2は必ず「0」が入力される。同様、「A1」が「0」の場合には「A2」は「100」と入力される条件) 式はIF関数式の構成に合わせ、アバウトに作って試してみたところ一応結果は正常にでました。 それがこの式 =IF(A1<>A2,A3-A1,A3-A2) なのですが、疑問があります。 IF関数の条件に対応させた場合の引数1は「判定条件」であり「A1とA2は等しくない」となるそうなので「A1<>A2」としましたが、「A3-A1」は引数2の「判定が真の場合の処理」、「A3-A2」は引数3「判定が偽の場合の処理」となってしまいますがこれでよいのでしょうか?それとも間違った式の偶然の正しい結果だったのでしょうか。 そこで正しい式と構成についての筋道を教えていただきたく思います。 また「" "」という点を入れる場合はどのようなものに対してでしょうか? これについても教えてください。

  • Excel 関数ifについて

    Excel 関数ifについて セルa1から a100の中に、たとえば 好き ということばがあるかどうかをチェックするとき、 if(countif(a1:a100,"*好き*"),1,0) と指示されました。 本来ならcountifが1より大きければ1を返すのですから、 if(countif(a1:a100,"*好き*")>0,1,0)ですよね? 論理式の >0って 省略できるんですか? 正なら真、0以下なら偽と解釈されるんでしょうか?

  • IF関数に関して教えてください。

    はじめまして IF関数に関しまして、論理式の箇所に文字が入っているかどうかで 真であるか偽であるか求める場合どのようにしたい良いのでしょうか。 たとえば、、、 論理式= A1に文字が入っている 真の場合=A1 偽の場合=”” 作業したい内容としましては、  A1に文字が入っている → A1の文字をB1に反映させる A1に文字が入っていない→ B1は空欄にする。 また、何か他に適切な関数がございましたら 教えていただければ幸いです。 よろしくお願いいたします。

  • IF関数で出した数値をSUM関数で使う

    2010エクセルでの関数について質問があります。 文章での説明でどこまで詳しくご説明できるか不安ですが お付き合い願います。 IF関数で =IF(A13>=25,"10","")と計算し、 セル内に、「10」と表示しています。 さらに、 上記、関数から表示した「10」を SUM関数を使い、 =SUM(A13,B13)と計算しました。 しかし、 IF関数で出した「10」が認識されず足し算されません。 「真の場合」や「偽の場合」で出された数値は 数値として認識されていないのでしょうか? 例えば・・・ B13のセルの数値が「200」であれば、SUM関数を入力しても 「10」が足されることなく、「200」のままで表示されるということです。 どのような方法ならば、足し算されるのでしょうか。 または、関数の使い方が間違っているのでしょうか。 説明が分かりにくく申し訳ありませんが、 宜しくお願い致します。

  • エクセルのIF関数について教えてください。

    こんばんは。 IF関数とは、 =IF(論理式、真の場合、偽の場合) なんですよね? エクセル初級の問題で、 参加者数に中止と入力されている場合は「0」 参加者数が入力されている場合は「ツアー代金 ×参加者数」を計算するように数式を修正しなさい という問題があるのですが、 =IF(参加者数が入っているセル番地(例:D13)=”中止”,0,ツアー代金(例:C13)*参加者数(例:D13)) つまり、 =IF(D13=”中止”,0,C13*D13) が回答になっています。 データの表を実際に入れてないので わかりづらくてすみません。 しかし、 =IFのあと、 =IF(D13=”中止”,0,  と入力したら、真の場合と負の場合って 何をさすのですか? 論理式自体が中止の場合0と入力するように するのですか? それともこれが真の場合で、 参加者数が入力されている場合が負の場合なのですか? 教えてください!

  • エクセル関数 ISNUMBERについて

    こんにちは。 ISNUMBER と IF関数を用いてセルに"真"か "偽"を表示させたいのですが・・・ 例えば、セルに特定の数値が入力されれば“真”を表示する。ということです。 どうやら、数字の「1」は「10」「12」なども 「1」が含まれていると認識するようで、困っています。 また、他のセルの関数を参照していることからどのような式を組めばよいのか分かりません。 詳しく説明すると以下のようになります。 (( ))はセルに入力されている関数です。        A         B         C 1    2009/01/20   2      1    (( =MONTH(A1) )) 3     4、10月    (( 文字列  )) 4     真    (( = IF(ISNUMBER(SEARCH(A1,A3)),"真", "偽") )) A1 シリアル値で入力された日付 A2 その日付より“月”だけ取り出して表示 A3 真か偽かを判断する為の基本となるデータを入力 A4  ISNUMBER関数 → A2の数値がA3に含まれていれば“真”をそうでないらな“偽”を表示する。 上記のように 1 は 10月 とは異なるので“偽”としたいのですが、10月の 10 の 1 を読み取ってしまうようで “真”と なってしまいます。 11月、12月 等も 1、2、と 読み取ってしまうようで・・・・ 1は 1月のみ“真”と表示。 2は2月のみ“真”と表示。というようにするにはどうしたら良いのでしょうか? 宜しくお願いします。

  • エクセル関数について(IF関数)

    エクセルの関数について教えて下さい。 セルに1と入力した場合Aと出てきて、2と入力した場合B、3と入力した場合Cとなるような計算式を入れたいのですが、どのような式を入れればよろしいのでしょうか? 別のシートから呼び出す(?)というような方法でもいいのですが、どんな式を入れればよいのか、全く分かりません。 自分で調べてみた結果、IF関数を用いるということは解りました。 『IF(A1="1","A",IF(A1="2","B",IF(A1="3","C")))』 上記のような式を入れてみて、実際に実践してみたところ、結果としては入力した数字が表示されるだけで、計算式は消えてしまいました。 どうしたらいいのか解りません。 素人故に恥ずかしい質問ですが、お知恵を貸して下さい。 よろしくお願いします。

  • エクセルのIF関数について

    IF(A1-B1-C1-D1-E1-F1>0,A1-B1-C1-D1-E1-F1,0) 上の式は「A1-B1-C1-D1-E1-F1」が0より大きく真の場合その結果を、偽の場合0という式です。その結果の部分に前提となる式を繰り返しで記していて見た目非常に長くなります。別のセルに代入して参照以外の方法で真の場合を短くする手法は無いでしょうか?

専門家に質問してみよう