VLOOKUPの列番号を可変にして動的に参照する方法は?
VLOOKUPの第3引数(列番号)にMATCH関数を組み合わせることで、参照する列を動的に変更できます。パターンは`=VLOOKUP(A2, マスタ!A:Z, MATCH(B$1, マスタ!1:1, 0), FALSE)`で、ヘッダー行(1行目)の値に応じて列番号を自動判定します。全バージョンで使用可能で、月別データや支店別データなど列方向にデータが並ぶ場合に非常に便利です。列の追加や削除があっても数式を修正する必要がありません。
📊 バージョン対応
2016
✅
対応
2019
✅
対応
2021
✅
対応
365
✅
対応
📋 実務での使用例
💼 月別売上の動的参照
B1セルに「4月」と入力すると、マスタの4月列から売上を自動取得
=VLOOKUP(A2, マスタ!A:Z, MATCH(B$1, マスタ!1:1, 0), FALSE)💼 支店別データの動的検索
ヘッダー行に支店名があり、選択した支店のデータを自動で参照する
=VLOOKUP($A2, データ!$A:$Z, MATCH(C$1, データ!$1:$1, 0), FALSE)VLOOKUPMATCH動的列番号可変範囲ヘッダー
📄
検索関数クイックリファレンス
VLOOKUP / XLOOKUP / INDEX+MATCH の構文・引数・使い分けを1枚にまとめたPDF
準備中※ PDFは現在作成中です。近日公開予定