Excelで表などを作っていて、ある値に一致するものが表の中の何番目になるのかを調べたい場合の記録です。
検索結果に一致するものが何番目にあるかを調べるときは「MATCH」関数を使います。
下図はExcel2016です。
< スポンサーリンク >
MATCH関数
セルの範囲内で指定された項目を検索し、範囲内のその項目の相対的な位置を返します。
MATCH(検査値, 検査範囲, [照合の型])
検査値=必須。検査範囲の中で照合する値を指定。検査値には、値 (数値、文字列、または論理値)、またはこれらの値に対するセル参照を指定できます。
検査範囲=必須。検索するセルの範囲を指定。
照合の型=省略可能。-1、0、1 の数値のいずれかを指定。検査範囲の中で検査値を探す方法を指定します。この引数の既定値は 1 です。
照合の型 | 動作 |
---|---|
1 または省略 | MATCH 関数は、検査値以下の最大の値を検索します。検査範囲の引数の値は、昇順の並べ替えでは、1~9、A~Z、あ~ん、FALSE~TRUEの順に配置されます。 |
0 | MATCH 関数は、検査値と等しい最初の値を検索します。検査範囲の引数の値は、任意の順序で指定できます。 |
-1 | MATCH 関数は、検査値以上の最小の値を検索します。検査範囲の引数の値は、降順の並べ替えでは、9~1、Z~A、ん~あ、TRUE~FALSEの順に配置されます。 |
- MATCH関数は、指定したセルに含まれている値ではなく、検査範囲内にある検査値に一致する値の位置を返します。たとえば、MATCH(“b”,{“a”,”b”,”c”},0)は2を返します。これは、配列 {“a”,”b”,”c”} の中での”b”の相対位置を表します。
- MATCH関数では、英字の大文字と小文字は区別されません。
- MATCH関数で検査値が見つからない場合は、#N/A エラー値が返されます。
- 検索の型が0で、検索値が文字列の場合は、検査値の引数で、疑問符(?)やアスタリスク(*)をワイルドカード文字として使用できます。ワイルドカード文字の疑問符は任意の1文字を表し、アスタリスクは1文字以上の任意の文字列を表します。ワイルドカード文字ではなく、通常の文字として疑問符やアスタリスクを検索する場合は、その文字の前に半角のチルダ(~)を付けます。
MATCH関数の使用例
A8のセルにA2~A6の範囲の中から「バナナ」に一致するのが何番目かを表示しています。
=MATCH(“バナナ”,A2:A6,0)
B8のセルにB2~B6の範囲の中から「14以下で最大値」に一致するのが何番目かを表示しています。
=MATCH(14,B2:B6)
C8のセルにC2~C6の範囲の中から「14以上で最小値」に一致するのが何番目かを表示しようとしましたが、C2~C6の値が降順ではないのでエラーが表示されています。
=MATCH(14,C2:C6,-1)
こんな記事も書いています