【完全ガイド】ExcelのMATCH関数とは?使い方・活用例・INDEXとの連携までやさしく解説!

Excelを使っていて「特定の値がリストの何番目にあるかを調べたい」と思ったことはありませんか?そんなときに使える便利な関数が MATCH関数 です。

MATCH関数はそれ単体でも役立ちますが、INDEX関数と組み合わせることでVLOOKUPの代替としても大活躍します。本記事では、MATCH関数の使い方から実務での活用例、エラー対処、応用テクニックまでわかりやすく解説します。

1. はじめに:MATCH関数とは何か?

MATCH(マッチ)関数は、「指定した値が、範囲内のどの位置にあるか」を調べてくれる関数です。

たとえば、「Aさんが名簿の何番目にいるか」や「月名が何列目にあるか」など、「順番」や「位置」を取得したいときに使います。

MATCH関数は単体でも使えますが、INDEX関数と組み合わせることで、VLOOKUP関数よりも柔軟な検索処理が可能になります。

2. MATCH関数の基本構文と意味

=MATCH(検索値, 検索範囲, 照合の型)
引数説明
検索値探したい値(例:商品名や日付)
検索範囲探す対象の範囲(例:A1:A10などの1列または1行)
照合の型検索の方式(0:完全一致、1:以下の最大値、-1:以上の最小値)

基本的には、0(完全一致)を使うのが安全です。

3. MATCH関数の使い方:基本パターン

● パターン1:列や行の中で位置を調べる

例)セルA1:A5に「田中、佐藤、鈴木、高橋、山田」が並んでいる場合、=MATCH("鈴木", A1:A5, 0)3 を返します。

● パターン2:表の中で項目の列番号を調べる

表の見出しがB1:F1にあり、「売上」「利益」「コスト」などの項目がある場合:

=MATCH("利益", B1:F1, 0)

→ 「利益」が3列目にあるなら、3が返されます。

4. どんな時に使うか?活用シーン

MATCH関数が役立つのは、以下のような場面です。

✅ データの「場所」を取得したいとき

・指定の文字や値が何行目/何列目にあるかを知りたい

✅ INDEX関数との連携で、柔軟な値検索

・行番号や列番号を自動取得し、検索結果を取得

✅ VLOOKUP関数の列番号を動的に

・列構成が変わっても壊れない検索式を作成できる

✅ 入力チェックや条件付き書式に

・「何番目にあるか」を使って条件分岐や判定が可能

5. 実践サンプル:MATCH関数の使いどころ

📌 例1:商品名の位置を取得

=MATCH("ペン", A1:A4, 0) → 結果:3

📌 例2:見出しから列番号を取得し、INDEXで値を取得

=MATCH("在庫", A1:C1, 0) → 結果:3

さらに

=INDEX(A2:C10, 1, MATCH("在庫", A1:C1, 0))

→ 「在庫」の列の1行目の値を取得(列構成が変わっても壊れない)

6. よくあるエラーとその対処法

❗ #N/A エラー

  • 検索値が見つからなかったときに表示されます
  • スペースの混入、全角半角ミス、表のソートミスを確認

❗ 近似一致(照合型=1または-1)の落とし穴

  • 1-1を使う場合、検索範囲が昇順や降順に並んでいないと誤動作します
  • よくわからなければ 0(完全一致)を使いましょう

7. MATCH関数と他関数の組み合わせ技

✅ INDEX + MATCH:VLOOKUPの上位互換!

=INDEX(B2:D5, MATCH("田中", A2:A5, 0), 2)

→ 「田中」に対応する行から、2列目の値を取得(柔軟な検索)

MATCHを使って列番号を自動化

=VLOOKUP(A2, A1:D100, MATCH("単価", A1:D1, 0), FALSE)

→ 見出しが移動しても壊れないVLOOKUP式に!

✅ INDIRECT関数と組み合わせて、動的な参照

=INDIRECT("B" & MATCH("鈴木", A2:A10, 0) + 1)

→ 「鈴木」に対応する行のB列の値を取得

8. MATCH関数の応用テクニック

🔸 条件付き書式で行や列を強調表示

MATCHで該当位置を調べ、条件に合うセルを強調する

🔸 ワイルドカードと組み合わせ

検索値に "*山田*" などを使うことで部分一致検索も可能(ただしMATCH単体ではなくCOUNTIFや他関数との併用が必要)

🔸 入力値の検証・重複チェックに応用

MATCHが#N/Aを返すかどうかで入力の妥当性を判定

9. まとめ:MATCH関数を使いこなすと何ができるか?

MATCH関数は単体でも便利ですが、他の関数(特にINDEX関数)と組み合わせることで真価を発揮します。VLOOKUPよりも柔軟で、列の構成変更にも強い処理が可能です。

  • シンプルな「検索位置の取得」から
  • INDEX関数との連携による柔軟なデータ参照
  • ワイルドカードや条件付き書式との応用まで

Excelでの作業効率を上げたいなら、ぜひMATCH関数をマスターしておきましょう!

タイトルとURLをコピーしました