MATCH
説明
指定したリスト (1 次元配列) 内の値を検索し、その値の位置を返します。数値、論理値、またはテキスト文字列をマッチングさせることができます。テキスト文字列を使用すると、パターンを一致させることができます。任意の数の文字に一致させるには、アスタリスク (*) を使用します。質問マーク (?) を使用して、1 つのあらゆる文字と一致させます。
構文
MATCH(
lookup_value
,
lookup_array
, [
match_type
])
- lookup_value: 検索する値。
- lookup_array: 検索する配列。
- match_type: 検索時に使用する基準を指定します。
- 1 以上 = 最大値以下を検索lookup_value。lookup_arrayデータは昇順でなければなりません。デフォルト値は 1 です。
- 0 = 次と完全に一致するものを検索lookup_value。テキスト文字列では、アスタリスク (*) と疑問符 (?) を使用してパターンを一致させることができます。
- -1 = 次の値以上の最小値を検索lookup_value。lookup_arrayデータは降順でなければなりません。
例
この例では、次のワークブックのデータを基に検索を行います。
A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
1 | 監督組織
| コスト センター
| 会社
| 勤務地
| 2017 年 1 月 (HC)
| 2017 年 2 月 (HC)
| 2017 年 3 月 (HC)
| PEA キー
|
2 | Finance | CC-1 Finance | GMS | Pleasanton | 2 | 2 | 2 | FinanceCC-1 FinanceGMSPleasanton |
3 | Product Management | CC-2 Product | GMS | Boulder | 0 | 1 | 2 | Product ManagementCC-2 ProductGMSBoulder |
4 | Development | CC-3 Development | GMS-CA | Toronto | 2 | 2 | 2 | DevelopmentCC-3 DevelopmentGMS-CAToronto |
5 | Sales | CC-4 Sales | GMS-UK | London | 1 | 2 | 3 | SalesCC-4 SalesGMS-UKLondon |
6 | Sales | CC-4 Sales | GMS-UK | Toronto | 0 | 0 | 1 | SalesCC-4 SalesGMS-UKToronto |
7 | 5 | 7 | 9 |
「=MATCH("CC-3 Development",B2:B6)」
の結果は次のとおりです。 3
。
「=MATCH("*Sales*",B2:B6,0)
」の結果は次のとおりです。 4
。
MATCH 関数と INDEX 関数を組み合わせて、値の位置ではなく、一致した値を返すようにできます。
計算式の場合:
=INDEX(G2:G6,MATCH("*Sales*",B2:B6,0))
最初に、MATCH は、範囲 B2:B6 で文字列 "*Sales*" を検索し (ワイルドカードを使用)、値の位置を返します。
4
。インデックスは次のように使用されます 4
2 番目の引数として、G2:G6 の位置 4 の値を返します。 2
。
ノート
- 一致する値が複数ある場合は、最初の一致の位置を返します。
- テキスト パターンを検索する際のワイルドカードの例:
- 検索対象*002 つのゼロで終わる値を見つけるには、
- 検索対象1?5「1」から始まり「5」で終わる3桁の値をすべて検索するために使用します。
- 検索する値に「*」または「?」が含まれている場合は、チルダ (~) を付けて保存します。例: search for~*N/A~*テキストを検索する*N/A*。
- パフォーマンスを向上させるために、可能な場合は MATCH ではなく、MATCHEXACT 関数を使用することをお勧めします。
関連する関数
MATCHEXACT
MHLOOKUP
MVLOOKUP