MATCH 関数
Applies To
Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016ヒント: あらゆる方向で動作し、既定で完全一致を返す改善されたバージョンの MATCH である新しい XMATCH 関数を使用してみます。この関数は、前のバージョンよりも使いやすく便利です。
MATCH 関数は、範囲 のセルの範囲で指定した項目を検索し、その範囲内の項目の相対的な位置を返します。 たとえば、範囲 A1:A3 に値 5、25、38 が含まれている場合、数式「=MATCH(25,A1:A3,0)」を入力すると、範囲内では 25 が 2 番目の項目であるため、数字 2 が返されます。
ヒント: 検索する項目自体ではなく、その項目の位置を調べる場合は、LOOKUP 関数の代わりに MATCH 関数を使用します。 たとえば、MATCH 関数を使用すると、INDEX 関数の行番号引数の値を指定できます。
書式
MATCH(検査値, 検査範囲, [照合の型])
MATCH 関数の書式には、次の引数があります。
-
検索値 必ず指定します。 検査範囲の中で照合する値を指定します。 たとえば、電話番号帳を使ってある人の電話番号を調べるとき、検査値としてその人の氏名を指定しますが、実際に検索するのは電話番号です。
検査値には、値 (数値、文字列、または論理値)、またはこれらの値に対するセル参照を指定できます。 -
検索範囲 必ず指定します。 検索するセルの範囲を指定します。
-
照合の型 省略可能です。 -1、0、1 の数値のいずれかを指定します。 照合の型には、検査範囲の中で検査値を探す方法を指定します。 この引数の既定値は 1 です。
次の表は、照合の型に基づいて関数が値を検索する方法を示しています。
照合の型 |
動作 |
1 または省略 |
MATCH 関数は、検査値以下の最大の値を検索します。 検査範囲の引数の値は、昇順の並べ替えでは、1 ~ 9、A ~ Z、あ~ん、FALSE ~ TRUE の順に配置されます。 |
0 |
MATCH 関数は、検査値と等しい最初の値を検索します。 検査範囲の引数の値は、任意の順序で指定できます。 |
-1 |
MATCH は、lookup_value以上の最小値を検索します。 lookup_array引数の値は、TRUE、FALSE、Z-A、..などの降順で配置する必要があります。2、1、0、-1、-2、..など。 |
-
MATCH は、値自体ではなく、 lookup_array内の一致する値の位置を返します。 たとえば、 MATCH("b",{"a","b","c"},0) は 2 を返します。これは配列 {"a","b","c"} 内の "b" の相対位置です。
-
MATCH 関数では、英字の大文字と小文字は区別されません。
-
MATCH 関数で検査値が見つからない場合は、#N/A エラー値が返されます。
-
検索の型 が 0 で、検索値が文字列の場合は、 検査値の引数で、疑問符(?) やアスタリスク (*) をワイルドカード文字として使用できます。 ワイルドカード文字の疑問符は任意の 1 文字を表し、アスタリスクは 1 文字以上の任意の文字列を表します。 ワイルドカード文字ではなく、通常の文字として疑問符やアスタリスクを検索する場合は、その文字の前に半角のチルダ (~) を付けます。
使用例
次の表のサンプル データをコピーし、新しい Excel ワークシートのセル A1 に貼り付けます。 数式を選択して、F2 キーを押し、さらに Enter キーを押すと、結果が表示されます。 必要に応じて、列幅を調整してすべてのデータを表示してください。
製品 |
個数 |
|
バナナ |
25 |
|
オレンジ |
38 |
|
リンゴ |
40 |
|
ナシ |
41 |
|
数式 |
説明 |
結果 |
=MATCH(39,B2:B5,1) |
B2:B5 のセル範囲から 39 を検索しますが、一致する値がないため、この値以下の最大の値 38 の位置が返されます。 |
2 |
=MATCH(41,B2:B5,0) |
B2:B5 のセル範囲から 41 の位置を調べます。 |
4 |
=MATCH(40,B2:B5,-1) |
B2:B5 のセル範囲は降順に並べ替えられていないため、エラーが返されます。 |
#N/A |