Excel

Excel(エクセル)のMATCH関数を活用したデータ検索【具体例付き】

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関数との組み合わせは、より高度なデータ検索を簡単に実現できます。