Vlookup数式は、数式のテーブル配列が変更されない場合にのみ機能しますが、テーブルに新しい列が挿入されたり、列が削除されたりすると、数式が誤った結果を示したり、エラーを反映したりして、数式にエラーが発生しなくなります。このような動的な状況では、match関数を使用して、データのインデックスを実際に照合し、実際の結果を返します。
VLOOKUPとMatchを組み合わせる
vlookup式は、指定された列インデックスの同じ値、または最初の列の一致した値を参照する別の列インデックスの値を検索して返すために使用される最も一般的に使用される関数です。vlookupの使用中に直面する主な課題は、指定する列インデックスが静的であり、動的な機能を備えていないことです。特に、参照列のインデックスを手動で変更する必要がある複数の基準で作業している場合。これにより、このニーズは、「MATCH」式を使用して、VLOOKUP式で頻繁に変更される列インデックスをより適切に把握または制御することで満たされます。
VLookupとMatchFormula
#1-VLOOKUP式
ExcelでのVLOOKUP関数の式
ここで入力するすべての引数は必須です。
- Lookup_value –ここでは、列範囲で識別されるように、二重引用符付きの参照セルまたはテキストを入力する必要があります。
- テーブル配列– この引数では、Lookup_valueを検索するテーブル範囲を入力する必要があり、取得するデータは特定の列範囲にあります。
- Col_index_num –この引数では、列インデックス番号または参照の最初の列からの列の数を入力する必要があり、そこから対応する値を最初の列で検索された値と同じ位置からプルする必要があります。
- [Range_lookup] –この引数には2つのオプションがあります。
- TRUE –近似一致:-引数は、TRUEまたは数値「1」として入力できます。これは、参照列または最初の列に対応する近似一致を返します。さらに、テーブル配列の最初の列の値は昇順で並べ替える必要があります。
- FALSE –完全一致:-ここで入力する引数は、FALSEまたは数値「0」のいずれかです。このオプションは、最初の列範囲の位置から識別されることに対応する値の完全一致のみを返します。最初の列から値を検索しないと、「#N / A」エラーメッセージが返されます。
#2-マッチフォーミュラ
一致関数は、指定されたテーブル配列に入力された値のセル位置を返します。
構文内のすべての引数は必須です。
- Lookup_value –ここで入力する引数は、値のセル参照、またはセル位置をプルする必要がある二重引用符付きのテキスト文字列のいずれかです。
- Lookup_array –値またはセルの内容を識別したいテーブルの配列範囲を入力する必要があります。
- [一致タイプ] –この引数は、以下で説明する3つのオプションを提供します。
- 「1-未満」–ここで入力する引数は数値「1」で、ルックアップ値以下の値を返します。また、ルックアップ配列は昇順で並べ替える必要があります。
- 「0-完全一致」–ここで入力する引数は数値「0」である必要があります。このオプションは、一致したルックアップ値の正確な位置を返します。ただし、ルックアップ配列は任意の順序にすることができます。
- 「-1-大なり記号」– 入力する引数は数値「-1」である必要があります。3番目のオプションは、ルックアップ値以上の最小値を検索します。ここでは、ルックアップ配列の順序を降順で配置する必要があります。
#3 –MATCH式を使用したVLOOKUP
= VLOOKUP(lookup_value、table_array、MATCH(lookup_value、lookup_array、[match_type])、[range lookup])
Excelでマッチ式でVLOOKUPを使用する方法は?
以下の例は、まとめるときにvlookupとmatch式の機能を理解するのに役立ちます。
このVLookupwith Match Excelテンプレートはこちらからダウンロードできます– VLookup with Match Excel Template購入する特定の車両の仕様を説明する以下のデータ表を検討してください。
vlookupとmatch関数の組み合わせ関数を明確にするために、個々の式がどのように機能するかを理解し、まとめるとvlookupの一致結果に到達します。
ステップ1–個々のレベルでvlookup式を適用して、結果を取得しましょう。
出力を以下に示します。
ここで、ルックアップ値はモデル「E」である$ B9を参照し、ルックアップ配列は絶対値「$」のデータテーブルの範囲として指定され、列インデックスはのカウントである列「4」を参照します。列「タイプ」と範囲ルックアップには完全一致が与えられます。
したがって、列「Fuel」の値を返すために次の式が適用されます。
出力を以下に示します。
ここで、ルックアップ値とlookup_arrayに絶対文字列「$」が適用されたルックアップ値は、数式が別のセルにコピーされている場合でも、参照セルを修正するのに役立ちます。「Fuel」列では、データを取得する必要がある値が変わるため、列インデックスを「5」に変更する必要があります。
ステップ2– ここで、Match式を適用して、指定されたルックアップ値の位置を取得しましょう。
出力を以下に示します。
上のスクリーンショットに見られるように、ここではテーブル配列から列の位置を取得しようとしています。この場合、プルされる列番号は列「タイプ」であるセルC8と呼ばれ、検索されるルックアップ範囲は列ヘッダーの範囲として指定され、一致タイプは「タイプ」として完全一致が指定されます。 0インチ。
したがって、以下の表は、「燃料」列の位置に対して望ましい結果を示します。
ここで、検索する列がセルD8に指定され、目的の列インデックスが「5」に返されます。
ステップ3–これで、一致式がvlookup関数内で使用され、識別された列位置から値が取得されます。
出力を以下に示します。
上記の式では、vlookup関数の列インデックスパラメーターの代わりにmatch関数が配置されています。ここで、match関数は、ルックアップ値参照セル「C8」を識別し、指定されたテーブル配列を介して列番号を返します。この列の位置は、vlookup関数の列インデックス引数への入力としての目的を果たします。次に、vlookupが結果の列インデックス番号から返される値を識別するのに役立つのはどれですか?
同様に、「Fuel」列にも一致式を使用してvlookupを適用しました。
出力を以下に示します。
これにより、この組み合わせ関数を他の列「タイプ」と「燃料」にも適用できます。
覚えておくべきこと
- VLOOKUPは、その最前面の左側でのみルックアップ値に適用できます。データテーブルの右側で検索するために存在する値はすべて、「#N / A」エラー値を返します。
- 2番目の引数に入力するtable_arrayの範囲は、絶対セル参照「$」である必要があります。これにより、ルックアップ式を他のセルに適用するときに固定のテーブル配列範囲が維持されます。そうでない場合、テーブル配列範囲の参照セルは次のセルに移動します。参照。
- ルックアップ値に入力する値は、テーブル配列の最初の列の最小値より小さくすることはできません。小さくしないと、関数は「#N / A」エラー値を返します。
- 最後の引数に近似一致「TRUE」または「1」を適用する前に、常にテーブル配列を昇順で並べ替えることを忘れないでください。
- match関数は、vlookupテーブル配列内の値の位置のみを返し、値は返しません。
- 一致関数がテーブル配列内のルックアップ値の位置を識別できない場合、数式はエラー値に「#N / A」を返します。
- ルックアップ値をテーブル配列内の一致するテキスト値と一致させる場合、Vlookup関数とmatch関数は大文字と小文字を区別しません。