Home / 用語 / MATCH関数

MATCH関数

※本ページにはプロモーション(広告)が含まれています

Office・Microsoft

読みまっちかんすう
英語MATCH Function

💡 ひとことで言うと

ExcelやGoogleスプレッドシートで、指定した値が配列・範囲の何番目にあるかを返す関数。INDEX関数と組み合わせて強力な検索が可能。

詳しい解説

MATCH関数は、ExcelおよびGoogleスプレッドシートで使える検索系関数のひとつです。指定した値を指定した範囲(行または列)の中から探し、その値が何番目(位置番号)にあるかを数値で返します。

書式は `=MATCH(検索値, 検索範囲, 照合の種類)` の3引数です。照合の種類は0(完全一致)、1(以下の最大値)、-1(以上の最小値)から選択します。実務ではほぼ0(完全一致)を使います。

MATCH関数単体では「何番目か」という位置しか返せませんが、INDEX関数と組み合わせることで威力を発揮します。`=INDEX(返す範囲, MATCH(検索値, 検索範囲, 0))` の形にすると、VLOOKUPと同様の表引きができ、かつ検索列が表の左端である必要がないという柔軟性があります。

たとえば商品名から価格を引きたいとき、VLOOKUP(VはVertical=縦方向の意)では検索列が必ず左端でなければなりませんが、INDEX+MATCHなら左右を問わず任意の列から引くことができます。また、MATCH関数でエラーが出た場合はIFERROR関数を外側に追加して代替値を返すのが定番パターンです。

Microsoft 365では後継のXLOOKUP関数が登場しましたが、INDEX+MATCHの組み合わせは旧バージョンのExcel・Googleスプレッドシートの両方で使えるため、互換性の高い定番テクニックとして今も広く使われています。

📘 具体的な場面

社員名簿でB列に社員番号、D列に所属部署が入っているとします。VLOOKUPは左端列からしか検索できないため、D列を返すには表を作り直す必要があります。しかし `=INDEX(D:D, MATCH("A001", B:B, 0))` と入力すれば、B列で「A001」を探した位置番号を使ってD列の部署名を取得できます。表の構造を変えずに柔軟に検索できる点がMATCHとINDEXを組み合わせる最大のメリットです。

別の呼び方

MATCH
INDEX+MATCH
マッチ関数
位置検索関数

関連する用語

この用語に関する関連記事

Check Also

【2026年最新版】Windowsのタスクバーをカスタマイズする方法【完全ガイド】

【2026年最新版】Windo …