2024年1月15日【ID:0】
【Excel】VLOOKUP関数の参照元の表を切り替える
以下のような「Aクラス」と「Bクラス」の表が用意されています。
これらの表を元に、クラス名と番号を指定して名前を抽出する仕組み(セルD3に抽出)をVLOOKUP関数で実現する方法について解説していきます。
Aクラスのみに対して、番号から名前を抽出する場合は、以下のように実現することができます。
=VLOOKUP(C3,C7:D10,2,FALSE)
ただ、この方法では、Bクラスになった時に表を切り替えることができません。
表を切り替えるには、表の範囲に名前を付ける必要があります。
具体的には、「C7:D10」の範囲に関しては、"Aクラス"、「G7:H10」の範囲に関しては、"Bクラス"といった名前になります。
では、まずはAクラスの名前から設定していきます。
Aクラスの表の範囲を選択し、左上の[名前ボックス]に"Aクラス"と入力し、Enterで確定します。
※セルのアドレスや数値から始まる名前などは設定することができません。
Bクラスに関しても同様に設定します。
設定することができましたら、以下のように名前で範囲を指定することができるようになります。
=VLOOKUP(C3,Aクラス,2,FALSE)
この名前をセルB3の値にすることで、セルB3の値に合わせて表を切り替えることができるようになります。
セル内に入力されている名前を直接参照する場合は、INDIRECT関数を活用します。
=INDIRECT(参照文字列)
// 指定させる文字列への参照を返す
実際に、INDIRECT関数を活用してセルB3を参照すると、以下のようになります。
=VLOOKUP(C3,INDIRECT(B3),2,FALSE)
これだけで、セルB3とC3の値から、表と行の選択を行い、名前を抽出することができるようになります。
名前は、[数式]タブの中の[名前の管理]にて管理されています。
範囲の修正などは、こちらの画面から行います。
自動で範囲を拡張したい場合は、[挿入]タブの中の[テーブル]という機能を活用することで設定できます。
テーブルにすることで、データを追加すると、設定した範囲が自動で拡張されるようになります。
補足
テーブルには、テーブル名という固有の名前が設定されます。
今回は、予め設定した名前を活用して抽出していますが、テーブル名を"Aクラス"というような名前にしても実現することができます。
テーブルの名前は、作成したテーブルを選択すると表示される、[テーブルデザイン]タブにて設定することができます。