【MATCH関数】エクセルで大量のデータの中から特定の値を探すやり方
MATCH関数は、指定した範囲の中から該当する値の行数や列数を返す関数。
INDEX関数との組み合わせで使うことが多い関数ですので、まずはMATCH関数がどんな関数かを知っておくと良いでしょう。
そこで今回は、MATCH関数の基本的な使い方と使い方応用編、そしてよくあるエラーについてお伝えします。
MATCH関数とは
MATCH(マッチ)関数
指定した範囲の中から該当する値の位置を、行数・列数を数値で返す関数
例えば下記図のように、この範囲の中から「指定する値(ここではモンブラン)は何行目?」というように、値がある位置を数値で求めることができます。
大量のデータの中から特定の値を探したいときには便利な関数といえます。
MATCH関数の式
MATCH関数の式は以下になります。
=MATCH(検査値,検査範囲,照合の種類)
MATCH 関数は、検査値、検査範囲、照合の種類の 3 つの値(引数)を入れて使用します。
検査値 | 探したい値を指定する |
検査範囲 | 探す範囲を指定する |
照合の種類 | 検査方法を「1」「0」「-1」のいずれかで指定する ●「1」 検査値以下の最大値 ※「検索範囲」を昇順に並び替えておく必要あり ●「0」 検査値に完全一致する値を求める ●「-1」 検査値以上の最小値 ※「検索範囲」を降順に並び替えておく必要あり |
MATCH関数で大量のデータの中から特定の値を探すやり方
ここでは例として、「モンブラン」が何行目にあるのかを検索する式を入力してみます。
MATCH関数の入力手順
①答えを表示したいセルを選択し、「数式」⇒「検索/行列」⇒「MATCH」をクリックします。
②検査値のボックスにカーソルを表示し、検索する値のセルを選択します。
※ここでは「モンブラン」が入力されているセルD2を選択しています。
数値以外の文字などを直接入力することも可能です。
その場合は「”〇〇”」のように、ダブルクォーテーションで囲む必要があります。
③検査範囲のボックスにカーソルを表示し、検査したい範囲を指定します。
※ここでは品名が入力されているセルA2:A6を範囲指定しています。
④照合の種類のボックスにカーソルを表示し、数字の「0」を入力し、「OK」をクリックします。
※ここでは完全一致の値を検索するために数字の「0」を入力しています。
⑤検査した範囲の中の何行目かが分かります。
ワイルドカートを使ったMATCH関数の応用
MATCH関数ではワイルドカードを使うことで、文字の一部分から値を探すなどの ”あいまい” な検索をすることも可能です。
ワイルドカードとは、アスタリスク(*)とクエスチョン(?)の2つ。
- アスタリスク(*)
「〇〇を含む」「前方が一致」「後方が一致」などの検索をするときに使います。 - クエスチョン(?)
「1文字の代用」をするときに使います。
「〇〇を含む」など部分的に一致するものを検索する場合
「〇〇を含む」など部分的に一致するものを検索する場合は、検索する文字列の前後に「*」を付けます。
=MATCH(”*ア*”,A2:A6,0)
図では「ア」という文字を含むものを検索しているので、「”*ア*”」というように、「ダブルクォーテーション」と「アスタリスク」で文字を囲んでいます。
「前方が一致」するものを検索する場合
「前方が一致」するものを検索する場合は、検索する文字列の後ろに「*」を付けます。
=MATCH(”生*”,A2:A6,0)
図では「生」から始まる文字を検索しているので、「”生*”」というように、「ダブルクォーテーション」内で「アスタリスク」を文字の後ろに付けています。
「後方が一致」するものを検索する場合
「後方が一致」するものを検索する場合は、検索する文字列の前に「*」を付けます。
=MATCH(”*ト”,A2:A6,0)
図では「ト」で終わる文字を検索しているので、「”*ト”」というように、「ダブルクォーテーション」内で「アスタリスク」を文字の前に付けています。
「1文字分代用」をして検索する場合
指定したい文字の数が決まっている場合は「?」を文字の代わりに付けて検索をします。
例えば、「〇〇〇ラン」を探したい場合は下記のように入力します。
=MATCH(”???ラン”,A2:A6,0)
「〇〇〇ラン」=「モンブラン」で、「4」行目という結果が分かります。
MATCH関数でよくあるエラー
MATCH関数でありがちなエラーが2つほどあります。
- 「#N/A(ノーアサイン)」エラー
-
検索した結果、該当するものがなかった場合に表示されます。
おかっぱちゃんそこにあるのにどうしてエラーになるの??
という場合もあるので、その場合は「検査範囲」が間違っている可能性があります。
同じ範囲であっても、もう一度選択しなおしてみることがおすすめです。
- 「#NAME?(ネーム)」エラー
-
検索値を指定するときダブルクォーテーション(” ”)で囲んでいない場合に表示されます。
「#NAME?」エラーが表示されたときは、「検査値」が間違っていないかの確認をしましょう。
わたしもうっかりやってしまうエラーです。
MATCH関数はINDEX関数と組み合わせが良く使われる
MATCH関数とINDEX関数を組み合わせると、VLOOKUP関数のような使い方をすることができます。
むしろVLOOKUP関数よりも柔軟な使い方ができますので、知っていると実務ではかなり便利です。
後ほどMATCH関数とINDEX関数の組み合わせについても解説したいと思いますので、今しばらくお待ちください。
こちらの本は「Kindle Unlimited 」会員なら無料で読むことができます。
30日間の無料体験中でも同じように利用することができるので、無料で読んでみたい方は無料体験に登録をするといいですよ。
▶Kindle Unlimitedで無料で読んでみる