【Excel初心者向け】XLOOKUPとINDEX+MATCHの違いとは?もう迷わない使い分けガイド

VLOOKUPはよく聞くけれど、最近はXLOOKUPやINDEX+MATCHという言葉も目にする。

何が違うのか。
結局どれを覚えればいいのか。

そう感じている人も多いのではないでしょうか。

Excelで「縦横自由に検索する」方法として代表的なのが、INDEX+MATCHとXLOOKUPです。
どちらも同じようなことができますが、書き方や使い勝手に違いがあります。

この記事では、初心者の方でも迷わないように、両者の違いをやさしく整理します。

スポンサーリンク

XLOOKUPはINDEX+MATCHの進化版

まず押さえておきたいポイントがあります。

XLOOKUPは、INDEX+MATCHを1つの関数にまとめたような存在です。

INDEX+MATCHでは、「MATCHで行番号を探し、INDEXで値を取り出す」という2段階の処理をします。

一方、XLOOKUPはその流れを1つの式で完結させます。

できることの本質は似ていますが、書きやすさに大きな差があります。

構文の違い

INDEX+MATCHの基本形は次の通りです。

=INDEX(取得範囲, MATCH(検索値, 検索範囲, 0))

一方、XLOOKUPは次の形です。

=XLOOKUP(検索値, 検索範囲, 取得範囲)

見比べると分かる通り、XLOOKUPの方がシンプルです。

「検索値 → 探す範囲 → 返す範囲」という順番で読めるため、初心者でも理解しやすい構造になっています。

エラー処理の違い

検索しても値が見つからない場合、エラーが表示されます。

INDEX+MATCHでは、IFERROR関数を組み合わせる必要があります。

=IFERROR(INDEX(C2:C100, MATCH(E2, A2:A100, 0)), "見つかりません")

一方、XLOOKUPでは第4引数に直接エラー時の表示を指定できます。

=XLOOKUP(E2, A2:A100, C2:C100, "見つかりません")

エラー処理の書きやすさは、XLOOKUPの方が優れています。

完全一致・近似一致の違い

INDEX+MATCHでは、MATCH関数の第3引数で一致方法を指定します。

0を指定すると完全一致。
1や-1を使うと近似一致になります。

XLOOKUPでも一致方法を指定できますが、より柔軟に設定できます。

特に、ワイルドカード検索に対応している点は便利です。

初心者のうちは「完全一致(0)」を使う場面がほとんどですが、将来的な拡張性はXLOOKUPの方が高いと言えます。

複数列を一度に取得できるか

INDEX+MATCHは、基本的に1列ずつ値を取得します。

複数列が必要な場合は、式を横にコピーする必要があります。

一方、XLOOKUPは返却範囲を複数列に指定すると、まとめて結果を返せます。

これにより、表形式のデータを一気に取り出すことが可能です。

実務ではこの違いが意外と大きな差になります。

互換性の違い

INDEX+MATCHは古いExcelでも使えます。

XLOOKUPは、Microsoft 365やExcel 2019以降で利用可能です。

もし古いバージョンのExcelを使う環境がある場合は、INDEX+MATCHを覚えておく必要があります。

結論:どちらを覚えるべき?

これから学ぶ初心者の方で、最新のExcel環境を使っているのであれば、まずはXLOOKUPから覚えるのがおすすめです。

書きやすく、読みやすく、エラー処理も簡単だからです。

ただし、古い環境での作業がある場合や、既存ファイルの保守を担当する場合は、INDEX+MATCHの知識も役立ちます。

まずはXLOOKUPを理解し、その後に「なぜ昔はINDEX+MATCHが使われていたのか」を学ぶ。

この順番が、遠回りのようで一番効率的です。