【Excel】MATCH関数-配列に含まれる値を検索し一致する要素の相対的な位置を数値で返す関数-
約~分
(約文字)
2020-08-26
【Excel】MATCH関数-配列に含まれる値を検索し一致する要素の相対的な位置を数値で返す関数-
MATCH関数とは
エクセルの「MATCH関数」は照合の型に従って参照又は配列に含まれる値を検索し、検査値と一致する要素の相対的な位置を数値で返す関数です。
まず結論
MATCH関数を使うと、配列に含まれる値を検索し一致する要素の相対的な位置を数値で返す関数ことができます。まずは検査値、検査範囲の意味を押さえ、使用例と注意点を確認すると実務で使い分けやすくなります。
- このページで分かること
- MATCH関数でできることと基本の使いどころ
- 構文と引数の意味
- MATCH関数の使用例
検索項目自体(値)ではなく、検索項目の相対的な位置を調べる場合は、LOOKUP関数の代わりにMATCH関数を使用します。例えば、MATCH関数を使用すると、INDEX関数の行番号の引数となる値を指定することができます。
簡単に言えば、探したい数値や文字が表の何行目(何列目)にあるか、調べらることができるのがMATCH関数です。
構文と引数
- 365
- 2019
- 2016
- 2013
- 2010
- 2007
=MATCH(検査値, 検査範囲, [照合の型])
| 引数 | 必要性 | 内容 |
|---|---|---|
| 検査値 | 必須 | 検査範囲の中で検査する値を指定します。数値、文字列、論理値、セル参照を指定できます。 |
| 検査範囲 | 必須 | 検査するセルの範囲を指定します。 |
| [照合の型] | [省略可] | 検査範囲の中で検査値を探す方法を数値(下表参照)で指定します。 |
| 照合の型 | 動作 |
|---|---|
| 1or省略 | 検査値以下の最大値を検索します。検査範囲の値は、昇順で配置する必要があります。 |
| 0 | 検査値と等しい最初の値を検索します。検査範囲の値は、任意の順序で指定できます。(文字列の検査値にワイルドカード文字が使用できます) |
| -1 | 検査値以上の最小値を検索します。 検査範囲の値は、降順で配置する必要があります。 |
MATCH関数の解説
出典:Microsoft - Office サポート
- ・MATCH関数は、検査範囲内で一致する検査値の”位置”が返されます。例えば、MATCH ("b", {"a", "b", "a", "b", "c"}, 0)は2が返されます。これは、配列("a", "b", "c")の相対的な位置になります。
- ・MATCH関数は、英字の大文字と小文字は区別されません。
- ・MATCH関数で検査値が見つからない場合は、エラー値#N/Aが返されます。
- ・照合の型に0を指定した場合で、検索値に文字列を指定した場合は、 検査値に疑問符(?)やアスタリスク(*)をワイルドカード文字として使用できます。ワイルドカード文字の疑問符(?)は任意の1文字を表し、アスタリスク(*)は1文字以上の任意の文字列を表します。ワイルドカード文字ではなく、通常の文字として疑問符やアスタリスクを検索する場合は、その文字の前にチルダ(~)を付けます。
MATCH関数の使用例
| 製品 | 個数 |
|---|---|
| バナナ | 50 |
| オレンジ | 38 |
| リンゴ | 40 |
| ナシ | 41 |
B2~B5のセル範囲から39の位置を調べます。
=MATCH(39,B2:B5,1)
=2(B2~B5のセル範囲に39に一致する値がないため、39以下の最大値である38の位置が返されます。)
B2~B5のセル範囲から41の位置を調べます。
=MATCH(41,B2:B5,0)
=4
関連する関数
- VLOOKUP関数:配列の左端列で特定の値を検索し、対応するセルの値を返す関数
- HLOOKUP関数:表の上端行で特定の値を検索し、対応するセルの値を返す関数
- INDEX関数:セル参照や配列から指定された位置の値を返す関数
- LOOKUP関数:ベクトルまたは配列を検索し、対応するセルの値を返す関数
よくある質問
Q. MATCH関数は何をするときに使いますか?
MATCH関数は、配列に含まれる値を検索し一致する要素の相対的な位置を数値で返す関数です。 とくに VLOOKUP関数 など近い関数との違いを合わせて押さえると、使い分けしやすくなります。
Q. MATCH関数がうまく動かないときは何を確認すればよいですか?
まず 検査値、検査範囲 の指定方法を見直し、参照範囲、検索値、一致条件、列番号や行番号 を確認してください。
よくある失敗例・エラー対処
MATCH関数で期待通りの結果にならないときは、次の点を確認してください。
- 検査値、検査範囲 の指定が関数の仕様どおりか確認する
- 完全一致か近似一致かを意図どおりに選んでいるか確認する
- 参照範囲の列追加や並び替えでずれていないか確認する
まとめ
このページでは、MATCH関数について以下を確認しました。
- ・MATCH関数でできることと基本の使いどころ
- ・構文と引数の意味
- ・MATCH関数の使用例
【Excel】VLOOKUP関数の使い方 初心者さん向け解説~みんなのエクセル~
ExcelのVLOOKUP関数の使い方を初心者向けに解説。4つの引数の意味、検索の基本、よくある失敗の避け方がわかります。
関数../../fnc_14.html【Excel】HLOOKUP関数の使い方:テーブル(配列)の上端行で特定の値を検索し、対応するセルの値を返す関数
ExcelのHLOOKUP関数の使い方を解説。テーブル(配列)の上端行で特定の値を検索し、対応するセルの値を返す関数。参照範囲の指定、一致条件の選び方を確認できます。
検索/行列hlookup.html【Excel】INDEX関数の使い方:セル参照や配列から指定された位置の値を返す関数
ExcelのINDEX関数の使い方を解説。セル参照や配列から指定された位置の値を返す関数。参照範囲の指定、一致条件の選び方を確認できます。
検索/行列index.html【Excel】LOOKUP関数の使い方:ベクトルまたは配列を検索し、対応するセルの値を返す関数
ExcelのLOOKUP関数の使い方を解説。ベクトルまたは配列を検索し、対応するセルの値を返す関数。参照範囲の指定、一致条件の選び方を確認できます。
検索/行列lookup.html