Excel関数入門:MATCH関数の使い方

表の中から「特定の値が何番目にあるか」を知りたいときに便利なのが MATCH関数 です。INDEX関数と組み合わせて使うことで、柔軟な検索・抽出が可能になります。

この記事では、MATCH関数の基本的な使い方から、INDEX関数との連携、活用例までをわかりやすく紹介します。


MATCH関数とは?

MATCH関数は、指定した値が範囲の中で何番目にあるか(位置)を返す関数です。

書式

=MATCH(検索値, 検索範囲, [照合の型])

引数の意味

  • 検索値:探したい値
  • 検索範囲:検索対象のセル範囲(縦または横一列)
  • 照合の型(省略可):検索方法を指定
    • 0:完全一致(おすすめ)
    • 1:以下の最大値(昇順で並んでいる必要あり)
    • -1:以上の最小値(降順で並んでいる必要あり)

基本的な使い方

例 1:名前の位置を探す

A列(名前)
佐藤
鈴木
高橋
=MATCH("鈴木", A2:A4, 0) → 2

→ 鈴木は範囲内の2番目にあるので「2」を返します。

例 2:得点が何番目にあるか(数値)

=MATCH(90, B2:B5, 0)

→ 90点が何番目にあるかを返す


INDEX関数との連携

MATCH関数は単体でも使えますが、INDEX関数と組み合わせると強力です。

例:科目名に対応する点数を取得

A列B列C列
国語数学英語
809070
=INDEX(A2:C2, MATCH("数学", A1:C1, 0)) → 90

→ 「数学」が見つかった位置(2列目)をもとにINDEXで値(90)を取り出す


よくある活用例

1. 行番号や列番号を動的に取得

=MATCH("商品B", A2:A10, 0)

→ 「商品B」が何行目にあるかを取得し、別の計算に利用

2. 見出しの位置を特定

=MATCH("合計", B1:F1, 0)

→ 見出し行から「合計」の列番号を取得


注意点

  • 照合の型は「0(完全一致)」が基本的に安全
  • 縦か横の一方向に並んでいる範囲で使うこと(2次元では使えない)
  • 見つからない場合はエラー(#N/A)が返る

まとめ

MATCH関数は、検索値が「どの位置にあるか」を調べるのに最適な関数です。単体でも便利ですが、特にINDEX関数と組み合わせることで、柔軟な検索・抽出が可能になります。VLOOKUPではできないような柔軟な検索をしたい人には、MATCH+INDEXの組み合わせが強力な武器になります!