|
|
|
|
|
|
|
|
|
|
|
|
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) アイエルアイ総合研究所 無断転載を禁じます |
|
|
|
|
|
|
|
|
|
|
|
|