MATCH
MATCH 関数
MATCH 関数
ヒント: あらゆる方向で動作し、既定で完全一致を返す改善されたバージョンの MATCH である新しい target=”_blank” title=”XMATCH” rel=”noopener”>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 |
target=”_blank” title=”VLOOKUP 関数” rel=”noopener”>VLOOKUP 関数