内容
昨日はマラソンで 30 日間で 30 個の Excel 関数 関数を使用してテキスト文字列を見つけました 検索 (SEARCH) なども使用 IFエラー (IFERROR) および 番号 (ISNUMBER) 関数がエラーをスローする状況で。
マラソン19日目は機能を勉強します MATCH (探す)。 配列内の値を検索し、値が見つかった場合はその位置を返します。
それでは、機能の参考情報に移りましょう MATCH (MATCH) いくつかの例を見てください。 この関数を使用するための独自の例やアプローチがある場合は、コメントで共有してください。
機能 19: マッチ
演算 MATCH (MATCH) 配列内の値の位置、またはエラーを返します #で (#N/A) 見つからない場合。 配列は、ソート済みまたは未ソートのいずれかです。 関数 MATCH (MATCH) は大文字と小文字を区別しません。
MATCH 関数はどのように使用できますか?
演算 MATCH (MATCH) は、配列内の要素の位置を返します。この結果は、次のような他の関数で使用できます。 INDEX (インデックス) または VLOOKUP (VPR)。 例えば:
- ソートされていないリスト内の要素の位置を見つけます。
- で使用する 選ぶ (SELECT) を押して、生徒の成績を文字の成績に変換します。
- で使用する VLOOKUP (VLOOKUP) で列を柔軟に選択できます。
- で使用する INDEX (INDEX) を使用して、最も近い値を見つけます。
構文一致
演算 MATCH (MATCH) の構文は次のとおりです。
MATCH(lookup_value,lookup_array,[match_type])
ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])
- 参照値 (lookup_value) – テキスト、数値、またはブール値にすることができます。
- ルックアップ配列 (lookup_array) – 配列または配列参照 (同じ列または同じ行の隣接するセル)。
- マッチタイプ (match_type) は、次の XNUMX つの値を取ることができます。 -1, 0 or 1. 引数を省略した場合は、 1.
トラップ MATCH (マッチ)
演算 MATCH (MATCH) は、見つかった要素の位置を返しますが、その値は返しません。 値を返したい場合は、 MATCH (MATCH) 関数と一緒に INDEX (索引)。
例 1: ソートされていないリスト内の要素を検索する
ソートされていないリストの場合、次を使用できます 0 引数値として マッチタイプ (match_type) を使用して完全一致を検索します。 テキスト文字列の完全一致を検索する場合は、検索値にワイルドカード文字を使用できます。
次の例では、リスト内の月の位置を見つけるために、ワイルドカードを使用して、月の名前全体または一部を記述できます。
=MATCH(D2,B3:B7,0)
=ПОИСКПОЗ(D2;B3:B7;0)
引数として ルックアップ配列 (lookup_array) 定数の配列を使用できます。 次の例では、目的の月がセル D5 に入力され、月の名前が関数の XNUMX 番目の引数として代入されます。 MATCH (MATCH) 定数の配列として。 たとえば、セル D5 に後の月を入力すると、 10月 (XNUMX 月) の場合、関数の結果は次のようになります。 #で (#N/A)。
=MATCH(D5,{"Jan","Feb","Mar"},0)
=ПОИСКПОЗ(D5;{"Jan";"Feb";"Mar"};0)
例 2: 生徒の成績をパーセンテージから文字に変更する
関数を使用して、学生の成績を文字システムに変換できます MATCH (MATCH) 君がしたように VLOOKUP (VPR)。 この例では、関数は 選ぶ (CHOICE)、必要な見積もりを返します。 口論 マッチタイプ (match_type) は次のように設定されます -1、テーブル内のスコアが降順で並べ替えられているためです。
議論が マッチタイプ (match_type) は -1、結果は目的の値以上の最小値です。 この例では、目的の値は 54 です。スコアのリストにそのような値がないため、値 60 に対応する要素が返されます。 60 はリストの XNUMX 番目にあるため、関数の結果は 選ぶ (SELECT) は、スコア D を含む 4 番目の位置、つまりセル C6 にある値になります。
=CHOOSE(MATCH(B9,B3:B7,-1),C3,C4,C5,C6,C7)
=ВЫБОР(ПОИСКПОЗ(B9;B3:B7;-1);C3;C4;C5;C6;C7)
例 3: VLOOKUP (VLOOKUP) の柔軟な列選択を作成する
関数に柔軟性を持たせるには VLOOKUP (VLOOKUP)使用できます MATCH (MATCH) を使用して、その値を関数にハードコーディングするのではなく、列番号を見つけます。 次の例では、ユーザーはセル H1 で地域を選択できます。これが探している値です。 VLOOKUP (VPR)。 次に、セル H2 で月を選択し、関数 MATCH (MATCH) は、その月に対応する列番号を返します。
=VLOOKUP(H1,$B$2:$E$5,MATCH(H2,B1:E1,0),FALSE)
=ВПР(H1;$B$2:$E$5;ПОИСКПОЗ(H2;B1:E1;0);ЛОЖЬ)
例 4: INDEX を使用して最も近い値を見つける (INDEX)
演算 MATCH (MATCH)機能との組み合わせで大活躍 INDEX (INDEX) については、このマラソンの後半で詳しく見ていきます。 この例では、関数 MATCH (MATCH) は、いくつかの推測された数から正しい数に最も近いものを見つけるために使用されます。
- 演算 ABS 推測された数値と正しい数値の差のモジュラスを返します。
- 演算 MIN (MIN) は最小の差を見つけます。
- 演算 MATCH (MATCH) は、相違点のリストで最小の相違点のアドレスを見つけます。 リストに一致する値が複数ある場合は、最初の値が返されます。
- 演算 INDEX (INDEX) は、名前のリストからこの位置に対応する名前を返します。
=INDEX(B2:B5,MATCH(MIN(ABS(C2:C5-F1)),ABS(C2:C5-F1),0))
=ИНДЕКС(B2:B5;ПОИСКПОЗ(МИН(ABS(C2:C5-F1));ABS(C2:C5-F1);0))