毎日お得!AmazonタイムセールCHECK!

【MATCH関数】エクセルで大量のデータの中から特定の値を探すやり方

  • URLをコピーしました!

本記事にはプロモーションが含まれています。

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関数の組み合わせについても解説したいと思いますので、今しばらくお待ちください。

手元に1冊おすすめ本

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
目次