EXCEL 検索はVLOOKUPよりINDEX+MATCHが最強

こんにちは、阿久梨絵です!
EXCEL でデータを検索・参照するとき、真っ先に思い浮かぶのが VLOOKUP。
でも、実はもっと柔軟で壊れにくい方法があるんです。

それが、INDEX + MATCHの組み合わせ

今回はこの2つの関数を使って、より安全で拡張性の高い検索方法を解説します。

VLOOKUPの限界とは?

まずはよく使われる VLOOKUP の例から。

=VLOOKUP(“りんご”, A2:B10, 2, FALSE)

・A2:A10 に果物名、B2:B10 に価格があるとき
・「りんご」の価格を取得する式

問題点

検索列は常に左端でなければならない
列番号が固定なので、列の順序が変わると壊れる
複数条件の検索ができない

INDEX + MATCHの基本構文

=INDEX(参照範囲, MATCH(検索値, 検索範囲, 検索方法))

MATCHで検索値の位置(行番号)を取得
INDEXでその位置の値を取り出す

具体例:果物の価格を検索する

=INDEX(B2:B10, MATCH(“りんご”, A2:A10, 0))

・A列に果物名、B列に価格
・「りんご」の価格を取得する式

この方法のメリット

比較項目VLOOKUPINDEX + MATCH
検索列の位置左端のみどこでもOK
列の順序変更式が壊れる式は壊れない
複数条件検索不可組み合わせで可能
横方向の検索不可INDEXで可能

応用:複数条件で検索する

例えば「果物が“りんご”で、サイズが“L”の価格」を検索したい場合

A列(果物名)B列(サイズ)C列(価格)
りんごL120
みかんM80
バナナL100
りんごS100
ぶどうM150

=INDEX(C2:C10, MATCH(1, (A2:A10=”りんご”)*(B2:B10=”L”), 0))

※この式は配列数式なので、Ctrl + Shift + Enter(またはEXCEL365なら通常のEnter)で確定します。

まとめ

INDEX + MATCHは、VLOOKUPよりも柔軟で壊れにくい
列の順序が変わっても安心
複数条件や横方向の検索にも対応可能

おまけ:覚え方のコツ

MATCHは「何行目かを探す」
INDEXは「その行の値を取り出す」

この2つをセットで使えば、 EXCEL の検索力が一気にレベルアップします!
阿久梨絵でした!

上部へスクロール
Verified by MonsterInsights