【Excel】VLOOKUPの参照先を自動で切換える
VLOOKUP関数で、引数で ”範囲” の項目がありますが、
INDIRECT関数を併用する事で、
この参照する “範囲” を自動で切換える事が出来ます。
例題
例えば、↑の表のような、シリーズによって単価や他項目が異なる商品の
売上表を作成する場合、以下の手順で項目・数式を入力する事で
ひとまとめに表を作成する事が出来ます。
【手順】
※「品名」だけは分かっている状態だとします。
1.各シリーズの内容が記入された表に名前を付ける。
例題で言えば、
「Aシリーズ」に関しては、セル【C10:E12】を選択し、左上の名前ボックスに、仮に『A』と名前を付ける。
「Bシリーズ」に関しては、セル【C16:E18】を選択し、左上の名前ボックスに、仮に『B』と名前を付ける。
2.セル【B3】に先程付けた、「シリーズ名」を記入する
3.セル【D3】には
=VLOOKUP(C3,INDIRECT(B3),2,0)
セル【E4】には
=VLOOKUP(C3,INDIRECT(B3),3,0)
と記入する
以下、実際の操作画面を切り抜いたモノです。
ご参照ください。
これで、B列で指定されたサイズ表から
単価や必要項目のデータを引っ張ってくることができたはずです。
VLOOKUP関数の「範囲」項目に、INDIRECT関数で対象の表を
B3(B列)で指定された表にスライドさせることが出来る
というわけです。
INDIRECT関数とは?
=INDIRECT ( 参照文字列 , [参照形式] )
順番が前後しますが、、INDIRECT関数は、
引数で指定した「参照文字列」を基に別表のセルの内容を検索する。
「参照文字列」で指定したセルを直接表示できる。
そういった関数です。
表に付けた「名前」を消すには?
先程、参照先にする表をドラッグして「名前」を付けましたが、
この「名前」の削除方法・手順は以下の通りです。
[数式タブ] → [名前の管理] → [削除]
以下の画像をご参照ください。
いかがでしたでしょうか?
何か業務のお役に立てれば幸いです。