Excelでデータを検索するとき、「値そのもの」ではなく「位置」を知りたい場面があります。
たとえば、一覧の中で何番目にあるのかを求めたい場合です。
そのときに使うのがMATCH関数ですが、「使い方がよくわからない」「エラーが出てできない」と感じる方も少なくありません。
特に、検索方法の違いや引数の意味でつまずきやすい関数です。
この記事では、MATCH関数とは何かという基本から、使い方や具体例、よくあるエラーの原因までを整理して解説します。
初心者の方でも安心して使えるよう、実際のExcel画面をイメージしながら進めていきます。
なお、検索の基本となる仕組みは「セル参照」と深く関係しています。
目次
MATCH関数とは?位置を検索する仕組みと使い方
MATCH関数とは、指定した値が「範囲の中で何番目にあるか」を返す関数です。
検索結果として値そのものではなく「位置(番号)」を返す点が特徴です。
通常の検索では「りんご → 100円」のように値を取得しますが、MATCH関数では「りんご → 2番目」といった結果になります。
この仕組みは、他の関数と組み合わせることで非常に便利に使えます。
MATCH関数とは?基本の構造と引数の意味
MATCH関数の基本構文は以下の通りです。
=MATCH(検索値, 検索範囲, 照合の種類)
検索値は探したい値です。
検索範囲は探す対象のセル範囲です。
照合の種類は検索方法を指定する引数です。
照合の種類には以下の3つがあります。
- 0:完全一致(最もよく使う)
- 1:以下で最大(昇順が前提)
- -1:以上で最小(降順が前提)
初心者の方は、まず「0(完全一致)」だけ覚えておけば問題ありません。
MATCH関数の使い方:基本の検索例
以下のような表を使って説明します。
| A | B | |
|---|---|---|
| 1 | 商品 | 価格 |
| 2 | りんご | 100 |
| 3 | みかん | 80 |
| 4 | バナナ | 120 |
このとき、「みかん」が何番目にあるかを調べます。
=MATCH(“みかん”, A2:A4, 0)
結果は「2」になります。
これはA2:A4の範囲内で、みかんが上から2番目にあることを意味します。
A3セルにあるため、結果が2になる仕組みです。
MATCH関数の使い方:数値検索の例
次に数値で検索する例です。
| A | |
|---|---|
| 1 | 点数 |
| 2 | 50 |
| 3 | 70 |
| 4 | 90 |
70の位置を調べます。
=MATCH(70, A2:A4, 0)
結果は「2」になります。
文字列でも数値でも同じように扱える点が特徴です。
実務での補足:MATCH関数は単体ではなく組み合わせで使う
MATCH関数は単体でも使えますが、実務では他の関数と組み合わせることが多いです。
特にINDEX関数と組み合わせることで、「検索+値取得」が可能になります。
初心者がつまずきやすいポイント
- 「値」ではなく「位置」が返る点に混乱しやすい
- 照合の種類を省略して誤動作する
- 範囲の指定ミス(行方向と列方向)
特に、縦方向(列)で使うのが基本なので、横方向にすると意図しない結果になることがあります。
MATCH関数の使い方(構文)とは?検索方法の違いとやり方
MATCH関数の使い方で重要なのが「照合の種類」です。
この設定によって、検索の仕組みが大きく変わります。
ここでは、それぞれの違いと使い方を具体的に解説します。
MATCH関数の使い方:完全一致(0)のやり方
最も基本となるのが「0(完全一致)」です。
=MATCH(“バナナ”, A2:A4, 0)
この場合、完全に一致する「バナナ」を探します。
一致する値があれば、その位置を返します。
実務ではほとんどこの使い方になります。
MATCH関数の使い方:近似一致(1)の違い
「1」を指定すると、検索値以下で最大の値を探します。
例として以下の表を使います。
| A | |
|---|---|
| 1 | 点数 |
| 2 | 50 |
| 3 | 70 |
| 4 | 90 |
=MATCH(75, A2:A4, 1)
結果は「2」になります。
75以下で最も近い70が該当するためです。
ただし、この方法は「昇順(小さい順)」に並んでいる必要があります。
並びが崩れていると正しく動作しません。
MATCH関数の使い方:近似一致(-1)の違い
「-1」は検索値以上で最小の値を返します。
=MATCH(75, A2:A4, -1)
結果は「3」になります。
75以上で最も近い90が該当するためです。
この場合は「降順(大きい順)」で並んでいる必要があります。
実務での補足:近似一致は使いどころが限られる
近似一致は便利ですが、データの並び順に依存するため注意が必要です。
実務では、評価表やランク付けなどで使われることが多いです。
それ以外では完全一致を使うケースが中心になります。
初心者がつまずきやすいポイント
- 並び順を無視して使ってしまう
- 照合の種類を省略して意図しない結果になる
- 数値と文字列を混同する
特に「照合の種類を省略すると1になる」点は見落とされがちです。
基本的には必ず「0」を指定する習慣をつけると安心です。
MATCH関数の具体例とは?実務で使える検索パターン
ここでは、実務でよく使われるMATCH関数の具体例を紹介します。
単なる位置取得ではなく、実際の業務でどう使うかをイメージできる内容です。
MATCH関数の具体例:商品コードの位置を調べる使い方
| A | B | |
|---|---|---|
| 1 | 商品コード | 商品名 |
| 2 | A001 | りんご |
| 3 | A002 | みかん |
| 4 | A003 | バナナ |
A002の位置を調べます。
=MATCH(“A002”, A2:A4, 0)
結果は「2」です。
これはA3セルにあるため、範囲内で2番目という意味です。
MATCH関数の具体例:日付データの検索
| A | |
|---|---|
| 1 | 日付 |
| 2 | 2024/01/01 |
| 3 | 2024/01/02 |
| 4 | 2024/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関数単体ではシンプルですが、理解しておくと応用の幅が大きく広がります。





