指定された照合の型に従って検査範囲内を検索し、検査値と一致する要素の、配列 (配列 : 複数の結果を返す数式や、行および列範囲に入力された引数をまとめて処理する数式に使用される。配列範囲では、共通の数式が使用されます。配列定数は、引数として使用される定数の集まりです。)内での相対的な位置を表す数値を返します。検査値で指定したセルに含まれる値ではなく、検査値の範囲内での位置を調べる場合は、その他の検索/行列関数の代わりに、MATCH 関数を利用してください。
書式
MATCH(検査値,検査範囲,照合の型)
検査値 表の中で必要な項目を検索するために使用する値を指定します。
検査範囲 検査値を含む隣接したセル範囲を指定します。検査範囲は、配列または配列に対するセル参照を指定してもかまいません。
照合の型 -1、0、1 の数値のいずれかを指定します。照合の型には、検査範囲の中で検査値を探す方法を指定します。
-
照合の型に 1 を指定すると、検査値以下の最大の値が検索されます。このとき検査範囲のデータは、昇順に並べ替えておく必要があります。昇順の並べ替えでは、数値は 1 〜 9、アルファベットは A 〜 Z、かなは "あ" 〜 "ん"、ブール型の値は FALSE から TRUE に配置されます。
-
照合の型に 0 を指定すると、検査値に一致する値のみが検索の対象となります。このとき検査範囲を並べ替えておく必要はありません。
-
照合の型に -1 を指定すると、検査値以上の最小の値が検索されます。このとき検査範囲のデータは、降順に並べ替えておく必要があります。降順の並べ替えでは、数値は 9 〜 1、アルファベットは Z 〜 A、かなは "ん" 〜 "あ"、ブール型の値は TRUE から FALSE に配置されます。
-
照合の型を省略すると、1 を指定したと見なされます。
解説
- MATCH 関数では、指定したセルに含まれている値ではなく、検査範囲内にある検査値に一致する値の位置が返されます。たとえば、MATCH("b",{"a","b","c"},0) は 2 を返します。これは、配列 {"a","b","c"} の中での "b" の相対位置を表します。
- MATCH 関数では、英字の大文字と小文字は区別されません。
- 検査値が見つからない場合は、エラー値 #N/A が返されます。
- 照合の型に 0 を指定し、検査値が文字列の場合、検査値の中で、アスタリスク (*)、疑問符 (?) のワイルドカード文字を使うことができます。ワイルドカード文字のアスタリスクは任意の文字列を表し、疑問符は任意の 1 文字を表します。
使用例
使用例を新規のワークシートにコピーすると、計算結果を確認できます。
その方法は?
- 新しいブックまたはワークシートを作成します。
- ヘルプ トピックにある使用例を選択します (行番号および列番号を除く)。

ヘルプから使用例を選択する
- Ctrl キーを押しながら C キーを押します。
- ワークシートのセル A1 を選択し、Ctrl キーを押しながら V キーを押します。
- 計算結果と結果を返す数式の表示を切り替えるには、Ctrl キーを押しながら ` (アクサン グラーブ) キーを押すか、または [ツール] メニューの [ワークシート分析] をポイントし、[ワークシート分析モード] をクリックします。
|
|
| A |
B |
| 製品 |
個数 |
| バナナ |
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) |
|