【Excel初心者向け】MATCH関数の使い方|検索位置の求め方とできない原因

Excelでデータを検索するとき、「値そのもの」ではなく「位置」を知りたい場面があります。
たとえば、一覧の中で何番目にあるのかを求めたい場合です。

そのときに使うのがMATCH関数ですが、「使い方がよくわからない」「エラーが出てできない」と感じる方も少なくありません。
特に、検索方法の違いや引数の意味でつまずきやすい関数です。

この記事では、MATCH関数とは何かという基本から、使い方や具体例、よくあるエラーの原因までを整理して解説します。
初心者の方でも安心して使えるよう、実際のExcel画面をイメージしながら進めていきます。

なお、検索の基本となる仕組みは「セル参照」と深く関係しています。

スポンサーリンク

MATCH関数とは?位置を検索する仕組みと使い方

MATCH関数とは、指定した値が「範囲の中で何番目にあるか」を返す関数です。
検索結果として値そのものではなく「位置(番号)」を返す点が特徴です。

通常の検索では「りんご → 100円」のように値を取得しますが、MATCH関数では「りんご → 2番目」といった結果になります。
この仕組みは、他の関数と組み合わせることで非常に便利に使えます。

MATCH関数とは?基本の構造と引数の意味

MATCH関数の基本構文は以下の通りです。

=MATCH(検索値, 検索範囲, 照合の種類)

検索値は探したい値です。
検索範囲は探す対象のセル範囲です。
照合の種類は検索方法を指定する引数です。

照合の種類には以下の3つがあります。

  • 0:完全一致(最もよく使う)
  • 1:以下で最大(昇順が前提)
  • -1:以上で最小(降順が前提)

初心者の方は、まず「0(完全一致)」だけ覚えておけば問題ありません。

MATCH関数の使い方:基本の検索例

以下のような表を使って説明します。

AB
1商品価格
2りんご100
3みかん80
4バナナ120

このとき、「みかん」が何番目にあるかを調べます。

=MATCH(“みかん”, A2:A4, 0)

結果は「2」になります。

これはA2:A4の範囲内で、みかんが上から2番目にあることを意味します。
A3セルにあるため、結果が2になる仕組みです。

MATCH関数の使い方:数値検索の例

次に数値で検索する例です。

A
1点数
250
370
490

70の位置を調べます。

=MATCH(70, A2:A4, 0)

結果は「2」になります。

文字列でも数値でも同じように扱える点が特徴です。

実務での補足:MATCH関数は単体ではなく組み合わせで使う

MATCH関数は単体でも使えますが、実務では他の関数と組み合わせることが多いです。

特にINDEX関数と組み合わせることで、「検索+値取得」が可能になります。

初心者がつまずきやすいポイント

  • 「値」ではなく「位置」が返る点に混乱しやすい
  • 照合の種類を省略して誤動作する
  • 範囲の指定ミス(行方向と列方向)

特に、縦方向(列)で使うのが基本なので、横方向にすると意図しない結果になることがあります。

MATCH関数の使い方(構文)とは?検索方法の違いとやり方

MATCH関数の使い方で重要なのが「照合の種類」です。
この設定によって、検索の仕組みが大きく変わります。

ここでは、それぞれの違いと使い方を具体的に解説します。

MATCH関数の使い方:完全一致(0)のやり方

最も基本となるのが「0(完全一致)」です。

=MATCH(“バナナ”, A2:A4, 0)

この場合、完全に一致する「バナナ」を探します。
一致する値があれば、その位置を返します。

実務ではほとんどこの使い方になります。

MATCH関数の使い方:近似一致(1)の違い

「1」を指定すると、検索値以下で最大の値を探します。

例として以下の表を使います。

A
1点数
250
370
490

=MATCH(75, A2:A4, 1)

結果は「2」になります。

75以下で最も近い70が該当するためです。

ただし、この方法は「昇順(小さい順)」に並んでいる必要があります。
並びが崩れていると正しく動作しません。

MATCH関数の使い方:近似一致(-1)の違い

「-1」は検索値以上で最小の値を返します。

=MATCH(75, A2:A4, -1)

結果は「3」になります。

75以上で最も近い90が該当するためです。

この場合は「降順(大きい順)」で並んでいる必要があります。

実務での補足:近似一致は使いどころが限られる

近似一致は便利ですが、データの並び順に依存するため注意が必要です。

実務では、評価表やランク付けなどで使われることが多いです。
それ以外では完全一致を使うケースが中心になります。

初心者がつまずきやすいポイント

  • 並び順を無視して使ってしまう
  • 照合の種類を省略して意図しない結果になる
  • 数値と文字列を混同する

特に「照合の種類を省略すると1になる」点は見落とされがちです。
基本的には必ず「0」を指定する習慣をつけると安心です。

MATCH関数の具体例とは?実務で使える検索パターン

ここでは、実務でよく使われるMATCH関数の具体例を紹介します。
単なる位置取得ではなく、実際の業務でどう使うかをイメージできる内容です。

MATCH関数の具体例:商品コードの位置を調べる使い方

AB
1商品コード商品名
2A001りんご
3A002みかん
4A003バナナ

A002の位置を調べます。

=MATCH(“A002”, A2:A4, 0)

結果は「2」です。

これはA3セルにあるため、範囲内で2番目という意味です。

MATCH関数の具体例:日付データの検索

A
1日付
22024/01/01
32024/01/02
42024/01/03

=MATCH(DATE(2024,1,2), A2:A4, 0)

結果は「2」です。

日付も数値として扱われるため、同じように検索できます。

実務での補足:INDEXと組み合わせた活用

MATCH関数はINDEX関数と組み合わせることで、柔軟な検索が可能になります。

VLOOKUPの代替としてもよく使われます。

初心者がつまずきやすいポイント

  • データ型の違い(文字列と数値)
  • 見た目が同じでも一致しないケース
  • 日付の扱いに戸惑う

特に「数値としての日付」を理解していないと、検索できない原因になります。

MATCH関数ができない原因とは?エラーの種類と対処法

MATCH関数でよくあるのが「エラーが出てしまう」ケースです。
ここでは代表的な原因と対処法を整理します。

MATCH関数エラー:#N/Aの原因と対処法

=MATCH(“ぶどう”, A2:A4, 0)

この場合、#N/Aエラーになります。

原因は「検索値が存在しない」ためです。
MATCH関数は見つからない場合に#N/Aを返します。

対処法としては、以下があります。

  • データが正しく入力されているか確認
  • 前後のスペースを削除
  • IFERROR関数でエラー処理

MATCH関数エラー:#VALUE!の原因と対処法

=MATCH(“みかん”, A2:B4, 0)

この場合、#VALUE!になることがあります。

原因は「検索範囲が2列以上になっている」ためです。
MATCH関数は1列または1行の範囲しか扱えません。

対処法は、範囲を1列に限定することです。

実務での補足:エラーは仕様として理解する

エラーは異常ではなく、関数の仕様です。

特に#N/Aは「見つからなかった」という正常な結果とも言えます。
無理に消すのではなく、意味を理解することが重要です。

初心者がつまずきやすいポイント

  • エラー=間違いと考えてしまう
  • スペースや全角半角の違いに気づかない
  • 範囲指定ミスを見落とす

エラーの原因を1つずつ確認することで、確実に解決できます。

MATCH関数のまとめ|使い方と注意点の整理

MATCH関数は、データの「位置」を求めるための関数です。

基本の使い方は以下の通りです。

  • 完全一致(0)を基本に使う
  • 範囲は1列または1行にする
  • 結果は位置(番号)で返る

また、実務ではINDEX関数と組み合わせることで、より強力な検索が可能になります。

MATCH関数単体ではシンプルですが、理解しておくと応用の幅が大きく広がります。