この記事では、Excel(エクセル)のMATCH関数の使い方について基本から応用まで初心者でもわかりやすく解説します。
MATCH関数は、Excelの関数の中でもよく使用される関数の1つと言えるでしょう。膨大なデータの中から欲しいデータがどの位置にあるのかを知りたいときに有効です。
またMATCH関数と併せて使用されることが多い、INDEX関数との組み合わせについても紹介します。
目次
ExcelのMATCH関数とは
Excel(エクセル)のMATCH関数とは、指定した検査値が検査範囲の中で何番目のセルかを求める関数です。
例えば表の中から「りんご」という単語を探したい時にMATCH関数を使えば、「リンゴ」と書かれたセルが表中の何行何列目にあるかを調べることができます。
MATCH関数の書式
Excel(エクセル)のMATCH関数の書式を説明します。
MATCH関数の構文は「=MATCH(検索値, 検索範囲, 照合の種類)」といったように3つの引数から成り立っています。検索範囲と照合の種類を設定して、指定した範囲の中から指定した方法で検索値と合致するものを探し、そのセルのアドレス値を返します。
検索範囲して列を指定すればその列内での行番号を、行を指定すればその行内での列番号が分かります。
それでは詳細な引数の設定の仕方を見ていきましょう。
- 第1引数:検索値
- 第2引数:検索範囲
- 第3引数:照合の種類
第1引数:検索値
まず、第1引数には検索値を設定します。この引数は必須で、探したい文字列を直接入力するかセル参照で指定します。
文字列などの値を直接指定するときはダブルクォーテーション「”」で囲い、「”文字列”」といったように記述することを忘れないように注意しましょう。
第3引数の照合の種類が「0」の場合は、後ほど紹介するワイルドカードを使ったあいまい検索も可能です。
第2引数:検索範囲
第2引数には検索範囲を設定します。こちらの引数も必須となっており、検索するセルの範囲を指定します。範囲としては、任意の列か行の一次元のデータを指定しましょう。
第3引数:照合の種類
第3引数には照合の種類を設定します。こちらの引数は任意で、検索範囲の中から検査値を探す方法として「-1」「0」「1」のいずれかを指定します。それぞれの内容は下記の表のようになっており、省略すると自動的に「1」が適用されます。
照合の種類 | 検索値 |
---|---|
-1 | 検査値以下の最大値を検索します。第2引数の検索範囲のデータを降順に並べ替えておく必要があります。 |
0 | 検索値と完全一致する最初の値を検索します。 |
1 | 検索値以上の最小値を検索します。第2引数の検索範囲のデータを昇順に並べ替えておく必要があります。 |
MATCH関数の使い方【実例】
Excel(エクセル)のMATCH関数の基本的な使い方を、実例を挙げながら紹介します。
MATCH関数で取得した行番号や列番号は、検索範囲内における番号です。シート内での絶対的な番号ではないので注意しましょう。
MATCH関数の応用方法
次は、Excel(エクセル)のMATCH関数の応用的な使い方を説明します。ワイルドカードを使って検索の幅を拡げたり、INDEX関数を組み合わせて汎用性を高めたりすることができます。
- ワイルドカードを使ったあいまい検索
- 複数条件で検索する方法
ワイルドカードを使ったあいまい検索
MATCH関数の検索値の中でワイルドカードを使い、あいまい検索をできるようにします。
あいまい検索とは、検索語句として入力した際に、その語句と類似した情報を検索結果として返す検索機能です。例えば部分一致する語句を検索する際に有効です。
「*」で部分一致検索する
ワイルドカードの1つ、アスタリスク「*」の使い方を紹介します。
この記号を使うと、どのような文字でも0文字以上の文字列と置き換えることができます。例えば「〇〇県」といったようにどの県でも構わないので「県」で終わる文字列を検索したい時には「“*県*”」と指定します。
MATCH関数で、「*」を使って部分一致するセルの場所を求めてみましょう。ここではデータの中から「東京」を含む文字列を探します。「=MATCH(“*東京*”,C3:C12,0)」と入力すると、該当するセルの行番号が取得できます。
「?」で任意の文字を検索する
次にワイルドカードの1つ、クエスチョンマーク「?」の使い方を紹介します。
この記号を使うと、任意の文字1文字と置き換えることができます。例えば「〇〇〇県」といったように3文字の県を検索したい時には「“???県”」と指定します。
例のようなデータを用い、MATCH関数で「=MATCH(“???県”,C3:C12,0)」と入力すると3文字の県である神奈川県の文字列の場所を探すことができます。
「?」1つに対して1文字代替できるので、文字数に合わせて複数の「?」を使用できます。
複数条件で検索する方法
複数の条件を組み合わせて検索する方法を紹介します。ここでは、MATCH関数を使ってサイズと色両方の条件にあてはまる商品が何行目にあるかを求める方法をご紹介します。
複数の条件を指定する欄と、その条件を満たす項目のある行を表示させる欄も作成しましょう。ここでは表中の上から何番目にあるかを表示させます。
例では表の先頭行が「3」になるので「=MATCH(B14&C14,B3:B11&C3:C11,0)+2」と記述すればエクセルシートにおける「8」行目と表示されます。
MATCH関数でエラーが出る原因・対応方法
Excel(エクセル)のMATCH関数を使った時に、エラーが出ることがあります。エラーが出てしまう原因と、その原因に対する対策方法を解説していますので参考にしてみてください。
- 検索値が検索範囲に存在しない
- 完全一致する検索値が検索範囲に存在しない
- 第3引数「照合の種類」を「1」「-1」に指定する場合
検索値が検索範囲に存在しない
検索値が指定した検索範囲に存在しない場合にエラーが出ます。特に関数をコピー&ペーストした時に検索範囲がズレることがよくあります。
検索範囲を相対参照で指定していると、コピーして異なるセルにペーストした際に自動で検索範囲が変更されてしまうのです。
回避するためには、「$」を用いて絶対参照を使用しましょう。「$A$2:$A$10」といったように数字やアルファベットの前に付けることで、コピー&ペーストしても範囲が自動で変更されることはありません。
このように、意図しない変更で検索値が検索範囲からズレていないか確認しましょう。
完全一致する検索値が検索範囲に存在しない
第3引数「照合の種類」を「0」に指定する場合、完全一致する検索値が検索範囲に存在しないとエラーになってしまいます。
MATCH関数に限りませんが、よくあるのが「全角」と「半角」の違いや「スペース」の有無です。英語やカタカナ、数字や記号を使う時に全角と半角が違っていれば一致したとはみなされません。
また、スペースや空白の有無でも結果が変わってきます。特にスペースが文字列の後に挿入されていたり、スペースの半角と全角が混在していると修正するのが困難です。そのような時は、置換機能を使用してスペースを削除するとよいでしょう。
第3引数「照合の種類」を「1」「-1」に指定する場合
第3引数「照合の種類」を「1」「-1」に指定する場合にはデータの並び順に注意が必要です。
最大値、最小値を求める際にデータが規則的に並んでいないと正しい値が求められず、エラーが出てしまいます。
「1」は検査値以下の数字の中で最大のものを探索するためデータを昇順に、「-1」は検査値以上の数字の中で最小のものをデータを降順に並べ替えておくことを忘れないようにしましょう。
MATCH関数とINDEX関数を組み合わせた使用例
MATCH関数と組み合わせて用いられることが多いINDEX関数との使い方を紹介します。
ここでは例として、商品名を入力したら価格が表示される仕組みをつくります。
MATCH関数のポイントを改めておさらい
Excel(エクセル)のMATCH関数は、データのセルの位置を調べる時に使用する関数でした。特に実践の場ではINDEX関数と組み合わせて使われることが多いです。
基本的な使い方を学んだら、この記事で紹介した具体例を参考にしながら応用的な使い方をしてみてください。
エラーが出た時は、今回紹介した3つのパターンに当てはまっていないかチェックしてみましょう。
今話題のリスキリングは手元から!
リテラアップアプリのご利用について、法人の方は下記フォームよりお問い合わせください。
(Excel,WordなどOffice製品やPC関連の技術的な質問にはお答えできかねます。ご了承ご了承ください。)