• 締切済み

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

複数のvlookupが使えるかどうかの質問なのですが… 例えば、A1に○が入った場合、C1~E3までの範囲で参照するとvlookup(A1,C1:E3……)といったような式になるかと思いますが(一部省略) この式にもしA2に新と入った場合、G3~I3までの範囲を参照することはできますか? A1にはどちらの場合も○ A2になにもなければC1~E3 A2に"新"が入ったらG1~I3 上記のように一文字加えると異なる範囲を参照できるのか…よろしくお願いいたします。

みんなの回答

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.4

>上記のように一文字加えると異なる範囲を参照できるのか できます。 質問の内容ではA2の指標と範囲の関連性がありませんのでIF関数で条件分岐することになります。 VLOOKUP関数の第2引数(範囲)をIF関数で切り替える方法ではINDIRECT関数かOFFSET関数で処理可能です。 =VLOOKUP(A1,IF(A2="新",INDIRECT("G1:I3"),INDIRECT("C1:E3")),2,FALSE) =VLOOKUP(A1,IF(A2="新",OFFSET(A1,0,6,3,3),OFFSET(A1,0,2,3,3)),2,FALSE) 他の回答者の例ではIF関数でVLOOKUP関数の全体を切り替えていますが範囲のみ切り替える方法もあることを覚えると応用範囲が広がります。

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.3

=VLOOKUP(A1,IF(A2="新",G1:I3,C1:E3),…… とか。

回答No.2

イマイチ条件がわからんが、IF関数組み合わせれば出来ますよ とりあえずA2は「新か空白かの2択」と仮定します =IF(A2="",VLOOKUP(A1,C1:E3,2,FALSE),VLOOKUP(A1,G1:I3,2,FALSE)) 3択でも4択でも可能です。

回答No.1

普通に =IF(A2="新",VLOOKUP(A1,G1:E3,...),VLOOKUP(A1,C1:E3,....)) のように、IF文を書けば良いだけです。