• ベストアンサー

エクセルの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

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

  • ベストアンサー
  • 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