MATCH関数とは Excelでの使い方やビジネスにおける活用事例をご紹介
目次
この記事を読んだ人がよくダウンロードしている資料
MATCH関数とは
MATCH関数は、指定したセルの範囲から、ある値が範囲のなかで上から、もしくは左から何番目にあるかという情報を検索し、数値で返してくれる関数です。
MATCH関数を使うことで、探したい値が指定した範囲の中でどの場所にあるのかを簡単に探すことが出来ます。特に、「データ数が多くて目視では位置を探すのが大変!」といった場面で便利な関数です。
ExcelでのMATCH関数の使い方
ここからは、Excelを使ったMATCH関数の使い方をご紹介します。ここからの解説に用いるExcelテンプレートはこちらから無料ダウンロード可能ですので、ぜひダウンロードして読み進めてみてください。
MATCH関数の書き方
まず、MATCH関数の基本的な書き方は、以下の通りです。
=MATCH(検索値、検索範囲、照合種類)
それぞれの意味は、以下の通りです。
- 検索値:検索する値の指定
- 検索範囲:検索する範囲の指定
- 照合種類:照合の種類の指定(0:完全一致、-1:以上、1:以下)
ここから具体例をもとにご説明していきます。
上からカウントする場合
たとえば、以下のようなデータがあったとします。
こちらは、架空の会社の従業員リスト(氏名と所属部署に関するデータ)です。
このデータの中から、「伊東 寛」さんのデータの位置をMATCH関数で抽出していきます。
今回の場合は、データを返したいセルに、
「=MATCH(“伊東 寛”,C3:C22,0)」と入力します。
まず、検索値に“伊東 寛”と入れることで、「伊東 寛」さんのデータを検索の対象に指定します。
次に、検索範囲は氏名の範囲として「C3:C22」を指定します。
今回は検索値と完全に一致したセルの結果を返したいので、照合種類は完全一致の「0」を入力します。
入力出来たらEnterを押すと、G3のセルに以下のような結果が返ってきます。
選択した範囲のなかで、「伊東 寛」さんのデータが上から9番目にあるということがすぐに分かりました。
今回は人数が少ないので目視でも簡単に分かりますが、これが何万人ものアンケート結果といったようにデータ数が膨大になると、データの位置を確認するのも大変です。
このようにMATCH関数を使うことで、数が多い場合でも簡単にデータの位置を把握することができます。
左からカウントする場合
左からの順番を数える場合も基本的には同じで、範囲を指定する際に複数列を選べば良いだけです。
たとえば、以下のようなデータがあったとして、「出身」の列が一体何行目にあるのかがぱっと見でわかりにくいです。
こんなときにもMATCH関数が便利です。
この場合は、結果を返したいセルに「=MATCH(“出身”,B2:AN2,0)」と入力します(以下の図ではAQ3のセル)。範囲を列にしただけで、基本的な考え方は先ほどと同じです。
そうすると、以下のように結果が返ってきます。
出身の列は、「No.」(B列)を1列目として数え始めた時に、「39列目」ということがすぐに分かりました。
MATCH関数の注意点
MATCH関数を使う際の注意点について解説します。
MATCH関数が返す値は、選択範囲の中での位置
MATCH関数が返してくる結果は、あくまでも選択範囲の中での位置です。
Excelシートの行番号とは関係ないので、注意しておきましょう。
上から(もしくは左から)カウントして最初に見つかった値の位置を出す
MATCH関数の注意点として、全ての当てはまるデータの場所を把握出来るわけではないということが挙げられます。
たとえば、検索値に一致する値を持ったセルが選択範囲の中にいくつもある場合があります。
そのような場合、MATCH関数では、上から(もしくは左から)カウントして最初に見つかった値の位置を出してきます。
そのため、選択範囲の中に重複した値を持つデータに対して使う場合には注意が必要です。
ビジネスにおけるMATCH関数の活用事例
ここからは、ビジネスにおけるMATCH関数の活用例をご紹介します。
事例 INDEX関数と組み合わせて、特定の人/項目のアンケート回答結果を返す
MATCH関数は、INDEX関数とセットで使われることが多い関数です。
INDEX関数は、行と列を指定し、それらが交差した場所にあるセルの値を引っ張ってくる関数です。
INDEX関数の使い方については、以下の記事で詳しくご紹介しています。
INDEX関数とは Excelでの使い方やビジネスにおける活用事例をご紹介
INDEX関数とMATCH関数を組み合わせることで、自動で目的のデータを探すことができるようになります。
具体的な例で使い方を確認してみましょう。まず、以下のようなデータがあるとします。
このデータの中から「若林 拓也」さんのQ17の回答を引っ張ってこようと思います。
今回は、AJ3のセルに以下のような数式を入力します。
=INDEX($B$3:$AH$22,MATCH(“若林 拓也”,$C$3:$C$22,0),MATCH(“Q17”,$B$2:$AH$2,0))
この数式について説明していきます。
まず、INDEX関数で全体を囲っていることが分かるかと思います。
INDEX関数は、「=INDEX(配列、行番号、列番号)」と入力していく関数です。
今回の場合は、以下のように対応しているということです。
- 配列:$B$3:$AH$22
- 行番号:MATCH(“若林 拓也”,$C$3:$C$22,0)
- 列番号:MATCH(“Q17”,$B$2:$AH$2,0)
配列は範囲なので、B3~AH22まで、表全体を指定しています。
行番号は、MATCH関数で、検索値として「若林 拓也」さんを指定し、検索範囲と、照合種類(完全一致の0)を入力しています。
列番号は、こちらもMATCH関数で、検索値として「Q17」を指定し、検索範囲と、照合種類(完全一致の0)を入力しています。
上記を踏まえて、数式を文面で説明すると、以下のようなイメージです。
「INDEX関数で、この範囲のこの行番号とこの列番号の位置にある値を返してください。「若林 拓也」さんの行番号と「Q17」の列番号についてはMATCH関数で探してきてください。」
入力し、結果を出力すると、以下のようにデータを引っ張ってくることができます。
このように、INDEX関数とMATCH関数を組み合わせて活用することで、簡単に知りたいデータを引っ張ってくることができます。
まとめ
今回はMATCH関数の基本的な使い方や、INDEX関数と組み合わせた活用方法をご紹介いたしました。
MATCH関数とINDEX関数を使いこなせるようになると、Excelでのデータ検索や集計の際、非常に役立ちます。
是非この機会に、MATCH関数の使い方を覚えて、データ処理に役立ててください。
\ この記事を読んでいる人におすすめ! /