アプリ版:「スタンプのみでお礼する」機能のリリースについて

IF関数とVLOOKUP関数で複数条件を組み合わせたい

IF(VLOOKUP(J5,リスト!$E:$F,2,FALSE)=O$4,1,IF(N5>0,0.5,0.25)

上記の数式を下記の複数条件を組み合わせた数式にしたいです。どのように書き換えたらよいでしょうか?

①リストで検索した数字がO4と合致して、かつN5>0だったら100
②リストで検索した数字がO4と合致せず、かつN5<だったら25
③リストで検索した数字がO4と合致して、かつN5<0だったら75
④リストで検索した数字がO4と合致せず、かつN5>0だったら50

質問者からの補足コメント

  • ご丁寧にご教授頂きましてありがとうございます。

    No.3の回答に寄せられた補足コメントです。 補足日時:2019/04/05 10:03

A 回答 (4件)

先ずは、IF分だけで完成させてください。


そして、最後にその一部をVLOOKUPに置き換えれば良いです。

なお、IF関数の階層は間違いの元なので、なるべくは利用を避けたほうが良いです。
例えば、
①と③を組み合わせた判定は、以下に置きかえられます。
 =(検索数値=O4)*((N5>0)*100+(N5=<0)*75)
ご質問の場合、N5=0が適用できないので、ご注意を。
    • good
    • 1
この回答へのお礼

ご教授いただきましてありがとうございます。注意点を含め、ご説明頂きありがとうございます。

早速検証してみます。

お礼日時:2019/04/04 21:48

N5=5だった場合の 処理が、


抜け出ますが。


まぁ、
論理演算子を 条件判断内で、
用いれば いいものと、
思います。

http://www4.synapse.ne.jp/yone/excel2013/excel20 …


又、
IF構文は、
可能な限り ネストせず、

値なら +で、
文字列なら &で、
接続して、

列記するように してくださいね。


とはいえ、
例えば、

=IF(N5>0,
 IF(VLOOKUP(J5,リスト!$E:$F,2,FALSE)=O$4,
  100,
  25,
 )
 IF(VLOOKUP(J5,リスト!$E:$F,2,FALSE)=O$4,
   75,
   50
  )
 )
    • good
    • 1

済みません。




式を 謝罪の上、
訂正させてください。


現行、
=IF(N5>0,
 IF(VLOOKUP(J5,リスト!$E:$F,2,FALSE)=O$4,
  100,
  25,
 )
 IF(VLOOKUP(J5,リスト!$E:$F,2,FALSE)=O$4,
  75,
  50
 )
)


改訂後、

=IF(N5>0,
 IF(VLOOKUP(J5,リスト!$E:$F,2,FALSE)=O$4,
  100,
  25,
 ),
 IF(VLOOKUP(J5,リスト!$E:$F,2,FALSE)=O$4,
  75,
  50
 )
)
             以上、

申し訳ない。
この回答への補足あり
    • good
    • 1
この回答へのお礼

すみません、誤って補足にお礼をしてしまいました。
訂正版までご教授頂きまして、ご丁寧にありがとうございます。
検証させて頂きます。

お礼日時:2019/04/05 10:35

N5は0になることはないのですか?

    • good
    • 1
この回答へのお礼

ご返信頂きましてありがとうございます。

N=0になることはあります。

それを回避する為、今回質問させて頂いたIF(VLOOKUP~の式の前に下記の数式で条件設定しています。

=IFERROR(IF(MATCH(J44,J:J,0)=ROW(),IF(OR(L44(実績)=0,N44(達成/未達成額)=0),0,(リスト!$B$18-(COUNTIFS(L$5:L$1000(実績),"<>0",N$5:N$1000(達成/未達成額),">"&N44(達成/未達成額))*2+COUNTIF(N$5:N$1000(達成/未達成額),N44)-1)/2)

①L列実績とN列達成/未達成額が0は対象外とする。
②同順位を除く、N列とL列の平均順位に「IF(VLOOKUP~」の条件に基づいて計算をしたい
③L列実績と達成/未達成額がどちらもマイナスの時も計算の対象外とする

ただ、現状③も計算に含まれてしまっており、③を対象外としたいのですが今回質問させて頂いた数式に組み込むことは可能でしょうか?

お礼日時:2019/04/05 10:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!