• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:IF関数の複合)

IF関数の複合を合体させる方法は?

このQ&Aのポイント
  • 下記の4つのIF関数を合体させたいのですが、どうすればいいでしょうか?
  • =IF(AND(BI11=200,BA9>=30),VLOOKUP(BI13,BQ3:CI17,16,0),VLOOKUP(BI13,BQ22:CI37,16,0)) =IF(AND(BI11=200,60=>BA9>30),VLOOKUP(BI13,BQ3:CI17,17,0),VLOOKUP(BI13,BQ22:CI37,17,0)) =IF(AND(BI11=200,120=>BA9>60),VLOOKUP(BI13,BQ3:CI17,18,0),VLOOKUP(BI13,BQ22:CI37,18,0)) =IF(AND(BI11=200,150=>BA9>120),VLOOKUP(BI13,BQ3:CI17,19,0),VLOOKUP(BI13,BQ22:CI37,19,0))
  • IF関数を合体させたい場合は、以下の手順をお試しください。 1. IF関数を使って各条件に対応する式を作成します。 2. AND関数を使って複数の条件を組み合わせます。 3. 各条件に対応するVLOOKUP関数の範囲や列を指定します。 4. IF関数を合体させた式を作成します。 上記の例では、条件と式が複数ありますので、それぞれの条件に対応するVLOOKUP関数の範囲や列を適切に指定する必要があります。また、AND関数を使って各条件を組み合わせ、合体させた式を作成します。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

数式の意味が、BI11が200でBA9が150以下の場合はBQ3:CI17の範囲から、それ以外の場合はBQ22:CI37の範囲からBI13の値を検索し、BA9の値が30以下(提示された数式は30以上になっていますが)の場合は16列目、30を超え60以下は(提示された数式は範囲の部分が正しい数式ではありませんが)17列目、60を超え120以下は18列目、120を超え150以下は19列目の値を引っ張ってくるという条件なら、以下のような数式になります。 =VLOOKUP(BI13,IF(AND(BI11=200,150>=BA9),BQ3:CI17,BQ22:CI37),MATCH(BA9-0.001,{0,30,60,120},1)+15,0)

NOBU_O
質問者

お礼

回答ありがとうございます。 間違ってる質問なのに(^^;)正確に答えていただいてうれしいです。 すごく助かりました、ありがとうございます。

その他の回答 (1)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

最初の式中の「BA9>=30」は「30>=BA9」の間違いでしょうか? で、あればこんな感じで如何でしょう。 =IF(AND(BI11=200,150>=BA9),VLOOKUP(BI13,BQ3:CI17,16+INT((BA9-1)/30),0),VLOOKUP(BI13,BQ22:CI37,16+INT((BA9-1)/30),0) BA9の値が30.1などの少数も有り得るなら上記式中2か所の「BA9-1」の1を0.001などの小さな値にしてください。

NOBU_O
質問者

お礼

回答ありがとうございます。 少数の場合も教えていただいて勉強になりました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう