MATCH関数とは?
MATCH関数は、指定した範囲内で検索したい値が何番目にあるかを返すExcelの関数です。データの特定位置を取得するのに役立ち、他の関数と組み合わせることで柔軟なデータ操作が可能になります。特に、INDEX関数と組み合わせることで、動的なデータ検索が簡単にできるようになります。
基本構文
=MATCH(検索値, 検索範囲, [一致の種類])
- 検索値:検索したい値(例:文字列や数値)
- 検索範囲:検索を行うセル範囲
- 一致の種類:検索する値がどのように一致するかを指定します(省略可能)。
- 1:検索値以下の最大値を返す(昇順で並んだデータを想定)
- 0:完全一致を返す(よく使うオプション)
- -1:検索値以上の最小値を返す(降順で並んだデータを想定)
MATCH関数の使用例
例1: 基本的なMATCH関数の使い方
次のような表があるとします。
A列 | B列 | C列 |
名前 | 年齢 | 部署 |
田中 | 30 | 営業 |
鈴木 | 25 | 経理 |
佐藤 | 35 | 人事 |
この表で、「鈴木さん」の行番号を取得するには、以下のMATCH関数を使用します。
=MATCH(“鈴木”, A2:A4, 0)
- 検索値:「鈴木」
- 検索範囲:A2
(名前が入っている範囲)
- 一致の種類:0(完全一致を求める)
結果として、2が返されます。これは、「鈴木さん」が2番目の行に位置しているためです。
例2: 数値の検索
次のような数値データがある場合を考えます。
A列 |
100 |
200 |
300 |
400 |
ここで「300」が何番目にあるかを調べるには、以下のようにMATCH関数を使用します。
=MATCH(300, A1:A4, 0)
この関数は、3を返します。「300」はA列の3行目にあるためです。
例3: 不完全一致(昇順の場合)
MATCH関数では、一致の種類を1に設定することで、指定した検索値以下の最大値を返すことができます。この機能は、範囲が昇順に並んでいる場合に役立ちます。
次のような数値データがあるとします。
A列 |
100 |
200 |
300 |
400 |
ここで「250」という数値が範囲内にない場合、検索値以下の最大値(この場合「200」)がどの行にあるかを調べるには、次のようにMATCH関数を使用します。
=MATCH(250, A1:A4, 1)
結果として、2が返されます。「250」以下の最大値である「200」がA列の2行目にあるためです。
例4: 不完全一致(降順の場合)
一方で、データが降順に並んでいる場合、一致の種類に-1を指定することで、検索値以上の最小値を検索できます。
A列 |
400 |
300 |
200 |
100 |
ここで「250」を検索する場合、次のようにMATCH関数を設定します。
=MATCH(250, A1:A4, -1)
この場合、2が返されます。「300」が「250」以上の最小値であり、2行目にあるためです。
MATCH関数と他の関数の組み合わせ
例5: INDEX関数との組み合わせ
MATCH関数は、INDEX関数と組み合わせることで非常に強力なツールになります。たとえば、次のような表があるとします。
A列 | B列 | C列 |
名前 | 年齢 | 部署 |
田中 | 30 | 営業 |
鈴木 | 25 | 経理 |
佐藤 | 35 | 人事 |
「鈴木さんの部署」を取得するために、まずMATCH関数を使って「鈴木」が何行目にあるかを調べ、それをINDEX関数で使用します。
=INDEX(C2:C4, MATCH(“鈴木”, A2:A4, 0))
- INDEX関数:C2
(部署が入っている列)
- MATCH関数:A2
で「鈴木」を検索
結果として、**「経理」**が返されます。
MATCH関数の応用
例6: 複数条件での検索
MATCH関数は単体では1つの検索条件しか扱えませんが、複数の条件を満たすデータを探したい場合、配列数式として利用することができます。
次のような表があります。
A列 | B列 | C列 |
名前 | 年齢 | 部署 |
田中 | 30 | 営業 |
鈴木 | 25 | 経理 |
佐藤 | 35 | 人事 |
ここで「25歳の鈴木さん」の行番号を検索する場合、次のようにMATCH関数を使います。
=MATCH(1, (A2:A4=”鈴木”)*(B2:B4=25), 0)
この関数は配列数式として評価され、複数の条件を満たす行を返します。結果として2が返されます。
まとめ
MATCH関数は、Excelでデータを検索する際に非常に役立つ関数です。検索結果が特定の範囲内で何番目にあるかを返し、他の関数と組み合わせることで、さらに柔軟なデータ操作が可能になります。特に、INDEX関数との組み合わせは、より高度なデータ検索を簡単に実現できます。