Toolnote

INDEX・MATCHの使い方(VLOOKUPで足りないとき)

Toolnote 編集部・2026-07-09 更新・約3分で読めます

VLOOKUPは便利ですが、「左方向に探せない」「列を挿入すると壊れる」といった弱点があります。それを乗り越える定番が INDEX と MATCH の組み合わせです。少し慣れが要りますが、仕組みが分かれば怖くありません。実例で解説します。

それぞれの役割

つまり、MATCHで「探している行が何番目か」を求め、その番号をINDEXに渡して値を取り出す、という連携です。

MATCH:位置を調べる

=MATCH(検索キー, 探す範囲, 0)

最後の 0 は「完全一致」の意味です。たとえば A列で「バナナ」が上から3番目にあれば、

=MATCH("バナナ", A:A, 0)   → 3

INDEX:位置から取り出す

=INDEX(取り出す範囲, 何番目)

B列の3番目を取り出すなら、

=INDEX(B:B, 3)   → バナナの価格

組み合わせる

この2つを合体させます。MATCHが出した番号を、そのままINDEXに渡します。

=INDEX(B:B, MATCH("バナナ", A:A, 0))

「A列でバナナが何番目かを調べ、その番号のB列の値を返す」。これでVLOOKUPと同じ表引きができます。検索キーをセル参照にすれば実用的です。

=INDEX(B:B, MATCH(D2, A:A, 0))

VLOOKUPに対する利点

左方向にも探せる

VLOOKUPは検索列の右しか返せませんが、INDEX・MATCHは取り出す範囲と探す範囲が独立しているので、左でも右でも取得できます。

列の挿入に強い

VLOOKUPの「列番号」は数字で固定なので、途中に列を足すとズレて壊れます。INDEX・MATCHは列そのものを指定するため、挿入しても壊れにくいです。

つまずきポイント

VLOOKUP・XLOOKUPとの使い分け

今は XLOOKUP があるため、左方向検索やエラー処理はXLOOKUPで済むことも多いです。ただしINDEX・MATCHは対応環境が広く、複雑な参照にも応用が利くので、知っておくと強い武器になります。基礎のVLOOKUPの使い方と合わせて、表引きの引き出しを増やしましょう。