Excel情報505 関数--VLOOKUP関数で複数のセル範囲から結果を検索し、表示する方法
【テーマ】
VLOOKUP関数は、1つのセル範囲を検索対象にして結果を取得する関数ですが、今回は複数のセル範囲から結果を取得する方法をご紹介します。
【方法】
INDIRECT関数を、VLOOKUP関数の「範囲」に設定します。
【参考】
VLOOKUP関数をネスト(入れ子)する方法でも可能です。詳細は「バックナンバー163」をご参照ください。
VLOOKUP関数は1つのセル範囲を対象に結果を取得しますが、
INDIRECT関数と組み合わせることによって、複数のセル範囲を対象にした結果が取得できます。
■考え方
VLOOKUP関数が参照する[範囲]を、状況によって変えることで、
複数の範囲を参照できるようにします。
その為には、範囲を「間接的」に参照できるようにします。
■手順
@複数のセル範囲にそれぞれ名前を定義をします。
AVLOOKUP関数の[範囲]にINDIRECT関数を設定します。
INDIRECT関数を使うと、指定した文字を文字としてではなく、「セルに付けられた名前」として認識できます。
=INDIRECT(参照する範囲)
=VLOOKUP(C4,INDIRECT(C3),2,FALSE)
C3セルに「会員」という文字が入っているので、
INDIRECT(C3)は、「会員」という名前の範囲を指定しています。
■設定方法
例として下図を使用します。
1.「区分」(C3セル)と「科目」(C4セル)には誤入力を防ぐため、リスト設定します。
2.2つの表にそれぞれ名前を定義します。
3.「料金」(C5セル)に下記数式を設定し、完成です。
=IFERROR(VLOOKUP(C4,INDIRECT(C3),2,FALSE),"")
※エラー値を出さないように、IFERROR関数を使用しています。
詳しくは、以下のバックナンバーをご参照ください。
【バックナンバー244】関数--エラーを非表示「IFERROR」
「区分」を「会員以外」、「科目」を「Access」と選択すると、「料金」が「\30,000」と表示されました。
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます