説明
この関数を使用して、セル範囲内の指定された項目を検索し、範囲内のその項目の行番号を返します。チェーンで支える。
この関数は、リストや表内の特定の値の行番号を求めるのに便利である。
構文
MATCH(lookup_value, lookup_array, [match_type])
インプット
この関数は以下の引数を受け付ける:
名称 | 必須 | 説明 | 有効入力 |
---|---|---|---|
ルックアップ値 |
はい | lookup_arrayで探したい値。 | セル参照、セル範囲、数値、テキスト文字列、またはこれらのいずれかになる数式。 |
ルックアップ配列 |
はい | 検索するセルの範囲。 | ルックアップ可能な値を含むセルの範囲。 |
マッチタイプ |
いいえ | Excelがどのようにlookup_valueとlookup_arrayの値を照合するかを指定します。 | 1 (lookup_value 以下である最大の値に マッチ)0 (の最初の値にマッチ) lookup_value に正確にマッチ -1 ( lookup_value 以上である最小の値にマッチ)省略された場合のデフォルトは 1。 |
例
サンプルデータ
A | B |
---|---|
10 | アップル |
20 | バナナ |
30 | チェリー |
40 | 日付 |
サンプルフォーミュラ
数式 | 説明 | 結果 |
---|---|---|
=match(30,a1:a4,0) |
これは、範囲A1:A4内の値30を含む行を返します。 | 3 |
=MATCH("チェリー",B1:B4,0) |
これは、範囲B1:B4に "Cherry "を含む行を返します。 | 3 |
=match(25,a1:a4,1) |
これは、A1:A4で25以下の最大の値を含む行を返します。 | 2 |
=match("d",b1:b4,1) |
これは、B1:B4でアルファベット順に "D "以下の最後の値を含む行を返します。 | 3 |
=match(15,a1:a4,-1) |
これは、A1:A4で15以上の最小値を含む行を返します。 | 2 |
メモ
- MATCHは、見つかった項目の位置を数値で返す。
- match_typeが0の場合、MATCHは
lookup_value
に正確に等しい最初の値を見つける。 - lookup_arrayが期待通りにソートされていない場合、MATCHはエラー表示なしに不正な結果を返すことがある。これは、この関数が条件を満たす値を見つけるとすぐに検索をやめてしまうためで、予想される並べ替えによってそれ以上の一致が続かないことを想定している。データのソートについて確信が持てない場合は、
match_type
として "0"(完全一致)を使用するか、MATCHを使用する前に明示的にデータをソートする方が安全である。- match_typeが1の場合、MATCHは
lookup_value
以下の最大の値を見つける。lookup_array は昇順でなければならない。
- match_type が -1 の場合、MATCH は
lookup_value
以上の最小値を見つける。lookup_array は降順でなければならない。
- match_typeが1の場合、MATCHは
- MATCHがマッチを見つけられなかった場合、#N/Aエラーを返す。
- MATCHは大文字と小文字を区別しない。
ヒント
- 期待する結果が得られない場合、
lookup_array
が、指定されたmatch_type
に対して正しくソートされているか確認してください。 - MATCH を INDEX と併用することで、VLOOKUP よりも柔軟性の高い、強力な検索式を作成することができる。 ページ Using INDEX-MATCH to create flexible lookups に例がある。
- MATCH を、MIN 、MAX 、AVERAGE などの他の関数と組み合わせて、範囲内の特定の値の位置を見つけることができる。