• ベストアンサー

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

フリーでダウンロードしたエクセルのファイルなんですが IF関数で分らない部分があります。 エクセルはマクロ以外なら大体マスターしたのですが どうもIF関数だけは苦手で… =IF(D12="",IF(D11="",IF(D10="",D9,D10),D11)) という式なんですが、どこで区切っていいのか分りません。 IF関数は =IF(論理式,A,B)という形が基本ですよね。 上式にあてはめると 論理式は D12="" となるのは分るのですが A,Bが分りません。 Aは IF(D11="",IF(D10="",D9,D10) Bは D11 と分けるとAのカッコの数が合わない。 Aを IF(D11="",IF(D10="",D9,D10),D11) とするとBが無くなる? 式がおかしいのかな?とも思ったのですが ちゃんと計算はされてるようだし… かれこれ2時間ほど悩んでいますが もう頭が混乱してきました… すいませんがお助け下さいm(__)m

  • grapo
  • お礼率77% (380/491)

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

  • ベストアンサー
  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.1

=IF(D12="",IF(D11="",IF(D10="",D9,D10),D11),"ここが抜けてまっせ") if(D12,条件A、条件B) の条件Bが抜けています。D12に数値を入力すると「False」と表示されることでわかるかと思われます。

grapo
質問者

お礼

なるほど~!やっぱり抜けていましたか… 仰る通りD12に入力すると「False」と表示されます。 条件Bを省略するとFalseになるんですね。 勉強になりました(^^; ありがとうございました。

その他の回答 (1)

回答No.2

そんなに、悩むほどの事ではないです 原則は、お判りなのだから、後は、それを拡張しているだけの事ですからね つまり、=IF(論理式,A,B)のBになる箇所を、更に論理式で判定して、=IF(論理式,A',B')とし、更に、B'部分になる場合に、もう一度判定して、=IF(論理式,A",B")としているだけです 文字で書いた方が、判り易いかも知れないですね 括弧付きの文字列で書いてみましょうか =IF(D12="",IF(D11="",IF(D10="",D9,D10),D11)) もしも、D12が空白であるならば、次の論理式で判定しなさい、その場合、D11が空白であったら、更に、以下の論理式で判定しなさい、判定の場合、D10が空白であったら、D9を示し、そうでなければ、D10を示しなさい、但し、D11が空白で無い場合は、D11を示します。 こんな解説になりますねぇ

grapo
質問者

お礼

詳しい解説ありがとうございます。 条件が一つのIF関数は分るのですが2つ3つと なるとだんだん混乱してきてしまって… いつも避けて通ってました(^^; 今回はBが省略されていて、その場合はFalseとなるんですね。 もう少し勉強して出直してきます。

関連するQ&A

  • エクセルIF関数で、

    エクセルIF関数で、 IF(論理値,A,B)はわかるのですが、 その応用のように、 1であれば○、2であれば△、3であれば× というような、より複雑な式の立て方があるのでしょうか? 宜しくお願いします。

  • エクセル2003のIF関数についてお尋ねします。

    エクセル2003のIF関数についてお尋ねします。 A1、B1、C1に数字を入れます。A1またはB1が50以上の場合で、「且つ」C1が120以上である場合にD1に※を入れたいときの関数式を教えて下さい。 =IF(OR(A1>=50,B1>=50),?????,"※"、"")という感じなると思いますが、????の部分をどうしたらいいのか分かりません。且つC1が120以上の表現方法がわかりません。よろしくお願いします。

  • エクセルでif関数を組んだのですが。。。

    エクセルでif関数を使って式を造ったのですが、上手く条件を選択 しません。何がおかしいのか分からない状態でこまっています。  どなたかお詳しい方、教えて下さい。 詳細は添付資料にあります。 a1 20 b1 1 c1 -1 d1 合 e1 19.5 =if((a1-abs(c1))<=e1<=(a1+b1),"合","不合") この式を入れると d1は不合になってしまいます。

  • EXCEL IF関数について質問です

    EXCEL IF関数について質問です 入力欄に1を入力したときはA、2を入力したときはB、それ以外はNGにする論理式を教えて頂けないでしょうか? 何卒よろしくお願い致します

  • エクセルのIF関数で、文字が入力されていたならば~

    エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。 =IF(A1="『どんな文字でも』","",+B1-C1) A1セルに『どんな文字でも』入っていたならば、空白に。 文字が入っていなければB1セルからC1セルを引く、という状態です。 この『どんな文字でも』の部分に何を入れればいいのか教えてください。 またIF関数以外でも同様のことができれば構いません。 宜しくお願いします。

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

    エクセルIF関数について エクセルのIF関数を利用して、重複するデータを抽出したいと思っています。 エクセルのIF関数を利用したことがないため、別の対応策があれば そちらも教えていただけませんでしょうか・・ 宜しくお願いいたします。 下記のようにA列に入っている1,2,3,4,5があり重複しているものをD列に一つにまとめ重複している1、5の合計分と重複していないものをEに表示させたいと思っています。     A  B     D   E 1  1  123    1  249 2  1  3      2  3 3  1  123    3  345 4  2  3      4  234 5  3  345    5  1665   6  4  234     7  5  555 8  5  555 9  5  555 D1、E1にはどのような関数で対応するのが適しているのでしょうか?

  • excelでのIF関数

    excelで表を作っています。 0~29なら「2」、30~59なら「3」、60~79なら「4」、80~100なら「5」という関数を作りたいのですがうまくいきません。 『=IF(A1="","",IF(A1>=85,"A",IF(A1>70,"B",IF(A1>=50,"C",IF(A1>=30,"D","E")))))』というほかの方の質問されているIF関数を参考に作ったのですが…だめでした。 わかる方がいれば教えてください。 vlook関数は使わずに、if関数で作りたいです。 よろしくお願い致します。

  • Excel 関数ifについて

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

  • エクセル2007のIF関数の作り方

    A列の値が「0.2<A列の値<0.8以下」或いは「-0.8<A列の値<-0.2」ならば「●」と表示、それ以外では「×」と表示するにはどんなIF関数やネストを組み込めばいいですか?いろいろやってみたのですが、どうしてもうまくいきません。一般論的な説明ではなく、具体的に論理式をテキストで記載していたきたく、お願い申しあげます。  (エクセル2007 windowsビスタ) A    B 0.41   ● 0.23   ● -0.33 ● 0.19  × 0.03  × -0.25  ●

  • EXCEL IF関数

    EXCELのIF関数で「A1からA5が空白だったならば、空白を、空白じゃなかったらA1からA5の合計を求める」といったような式の設定はできますか? 「A1からA5の全てにデータが入れば合計を求める」または「A1からA5のどれかにデータが入れば合計を求める」というやり方はどうでしょう? 1つ目のように、範囲を論理式(条件)に用いることはできるのでしょうか?

専門家に質問してみよう