Excelでデータ検索や参照を行うとき、多くの方が最初に思い浮かべるのは VLOOKUP関数 ではないでしょうか。
しかし、VLOOKUPには「参照範囲の制約」「列番号の固定」、「大量データだと重い」など不便な面もあります。
そこでおすすめなのが、 INDEX関数とMATCH関数を組み合わせる方法 です。
本記事では、INDEX+MATCH関数の使い方を基礎から応用まで解説します。
1. INDEX関数とMATCH関数の役割
INDEX関数
指定した範囲から「行番号・列番号」を基準に値を取り出す関数です。
例:=INDEX(B2:D5, 2, 3)
→ 範囲B2:D5の「2行目3列目」の値を取得
MATCH関数
指定した値が「範囲の何番目にあるか」を返す関数です。
-
検索方法:0(完全一致)、1(以下)、-1(以上)
例:=MATCH("東京", A2:A10, 0)
→ 「東京」がA2:A10の中で何番目かを返す
2. INDEX+MATCHの組み合わせ
INDEXとMATCHを組み合わせると、「検索値に基づいて柔軟に値を取得」できます。
例:
社員名を検索して、その人の所属部署を取得する場合
-
検索値:セルE1(社員名)
-
検索範囲:A2:A6(社員名一覧)
-
参照範囲:B2:B6(部署一覧)
→ F2に入力した社員名に対応する部署が返る
3. VLOOKUPとの違い・メリット
-
参照範囲を左右どちらにも指定可能
VLOOKUPは「左端から右方向」にしか検索できませんが、INDEX+MATCHなら左にも右にも対応できます。 -
列削除に強い
VLOOKUPは列番号で指定するため列構成が変わるとエラーになりますが、INDEX+MATCHは柔軟です。 -
高速処理が可能
大量データを扱う場合でも、VLOOKUPだと処理が重くなって使えない事象が発生しますが、INDEX+MATCHの方を使用することで安定して動作します。
4. 応用例:2次元検索
行と列の両方で一致する値を取得することも可能です。
5. まとめ
-
INDEX関数は「値を取り出す」
-
MATCH関数は「位置を探す」
-
2つを組み合わせることで 柔軟な検索・参照が可能
VLOOKUPでは対応できない場面でもINDEX+MATCHなら解決できます。
Excelで効率的なデータ検索を行いたい方は、ぜひ活用してみてください。