Excel-data-analysis-quick-lookup-functions
Excelデータ分析-ルックアップ関数
あなたはExcelの機能を使用して-
- データ範囲内の値を検索-VLOOKUPおよびHLOOKUP
- テーブルまたは範囲内から値または値への参照を取得する-INDEX
- セル範囲内の指定されたアイテムの相対位置を取得する-一致
これらの関数を組み合わせて、入力に基づいて必要な結果を取得することもできます。
VLOOKUP関数を使用する
VLOOKUP関数の構文は次のとおりです。
どこで
- lookup_value -検索する値です。 Lookup_valueは、値またはセルへの参照です。 Lookup_valueは、table_arrayで指定するセル範囲の最初の列になければなりません
- table_array -VLOOKUPがlookup_valueと戻り値を検索するセルの範囲です。 table_arrayに含まれる必要があります
- 最初の列のlookup_value、および 検索したい戻り値 + 注*-lookup_valueを含む最初の列は、昇順で並べ替えることができます。 ただし、結果はこの列の順序に基づきます。
- col_index_num -戻り値を含むtable_arrayの列番号です。 table-arrayの左端の列の番号は1から始まります
- range_lookup -VLOOKUPで完全一致または近似一致を検索するかどうかを指定するオプションの論理値です。 range_lookupは
- 省略された場合、TRUEと見なされ、VLOOKUPは近似一致を見つけようとします
- TRUE。この場合、VLOOKUPはおおよその一致を見つけようとします。 つまり、完全に一致するものが見つからない場合、lookup_valueより小さい次の最大値が返されます。
- FALSE。この場合、VLOOKUPは完全一致を検索しようとします
- 1。この場合、TRUEと見なされ、VLOOKUPはおおよその一致を見つけようとします
- 0。この場合、FALSEと見なされ、VLOOKUPは完全一致を検索しようとします
注意-range_lookupが省略されているか、TRUEまたは1の場合、table_arrayの最初の列が昇順でソートされている場合にのみVLOOKUPが正しく機能します。 そうしないと、誤った値になる可能性があります。 そのような場合、range_lookupにFALSEを使用します。
range_lookup TRUEでのVLOOKUP関数の使用
生徒のマークのリストを検討してください。 VLOOKUPを使用して、マーク間隔と合格カテゴリを含む配列から対応するグレードを取得できます。
table_array-
グレードの取得に基づいた最初の列マークは昇順でソートされていることに注意してください。 したがって、range_lookup引数にTRUEを使用すると、必要な近似一致を取得できます。
この配列に Grades という名前を付けます。
セル範囲を覚えておく必要がないように、この方法で配列に名前を付けることをお勧めします。 今、あなたは次のようにあなたが持っているマークのリストのグレードを調べる準備ができています-
ご覧のとおり、
- col_index_num -table_arrayの戻り値の列が2であることを示します
- range_lookup はTRUEです
- table_array gradesのルックアップ値を含む最初の列は昇順です。 したがって、結果は正しいものになります。
- 近似一致の戻り値も取得できます。 i.e. VLOOKUPは次のように計算します-
Marks | Pass Category |
---|---|
< 35 | Fail |
>= 35 and < 50 | Third Class |
>= 50 and < 60 | Second Class |
>=60 and < 75 | First Class |
>= 75 | First Class with Distinction |
次の結果が得られます-
range_lookup FALSEでのVLOOKUP関数の使用
各製品の製品IDと価格を含む製品のリストを検討します。 製品IDと価格は、新しい製品が発売されるたびにリストの最後に追加されます。 これは、製品IDが昇順である必要がないことを意味します。 製品リストは次のようになります-
table_array-
この配列にProductInfoという名前を付けます。
製品IDは最初の列にあるため、VLOOKUP関数を使用して、製品IDが指定された製品の価格を取得できます。 価格は列3にあるため、col_index_ numは3でなければなりません。
- range_lookupをTRUEにしてVLOOKUP関数を使用する
- range_lookupをFALSEにしてVLOOKUP関数を使用する
正解はProductInfo配列から得られたものは171.65です。 結果を確認できます。
あなたが得たことを観察します-
- range_lookupがFALSEの場合の正しい結果、および
- range_lookupがTRUEの場合、間違った結果になります。
これは、ProductInfo配列の最初の列が昇順でソートされていないためです。 したがって、データが並べ替えられていない場合は必ずFALSEを使用してください。
HLOOKUP関数を使用する
データが列ではなく行にある場合、 HLOOKUP 関数を使用できます。
例
製品情報の例を見てみましょう。 配列が次のように見えると仮定します-
- この配列にProductRangeという名前を付けます。 HLOOKUP関数を使用して、製品IDが指定された製品の価格を検索できます。
HLOOKUP関数の構文は
どこで
- lookup_value -テーブルの最初の行にある値
- table_array -データが検索される情報のテーブル
- row_index_num -一致する値が返されるtable_arrayの行番号
- range_lookup -HLOOKUPで完全一致または近似一致を検索するかどうかを指定する論理値
- range_lookup は
- 省略された場合、TRUEと見なされ、HLOOKUPは近似一致を見つけようとします
- TRUE。この場合、HLOOKUPはおおよその一致を見つけようとします。 つまり、完全に一致するものが見つからない場合、lookup_valueより小さい次の最大値が返されます。
- FALSE。この場合、HLOOKUPは完全一致を検索しようとします
- 1。この場合、TRUEと見なされ、HLOOKUPはおおよその一致を見つけようとします
- 0、この場合はFALSEとみなされ、HLOOKUPは完全一致を検索しようとします
注意-range_lookupが省略またはTRUEまたは1の場合、table_arrayの最初の列が昇順でソートされている場合にのみ、HLOOKUPは正しく機能します。 そうしないと、誤った値になる可能性があります。 そのような場合、range_lookupにFALSEを使用します。
range_lookup FALSEでのHLOOKUP関数の使用
製品IDは最初の行にあるため、HLOOKUP関数を使用して、製品IDが指定された製品の価格を取得できます。 価格は行3にあるため、row_index_ numは3でなければなりません。
- TRUEのrange_lookupでHLOOKUP関数を使用します。
- FALSEとしてrange_lookupでHLOOKUP関数を使用します。
ProductRange配列からの正しい答えは171.65です。 結果を確認できます。
VLOOKUPの場合と同様に、
- range_lookupがFALSEの場合の正しい結果、および
- range_lookupがTRUEの場合、間違った結果になります。
これは、ProductRange配列の最初の行が昇順でソートされていないためです。 したがって、データが並べ替えられていない場合は必ずFALSEを使用してください。
range_lookup TRUEでのHLOOKUP関数の使用
VLOOKUPで使用される生徒のマークの例を考えてみましょう。 以下の表に示すように、列ではなく行にデータがあるとします-
table_array-
この配列にGradesRangeという名前を付けます。
成績の取得に基づく最初の行のマークは昇順でソートされていることに注意してください。 したがって、range_lookup引数にTRUEを指定してHLOOKUPを使用すると、おおよその一致で成績を取得できます。これが必須です。
ご覧のとおり、
- row_index_num -table_arrayの戻り値の列が2であることを示します
- range_lookup はTRUEです
- table_array Gradesのルックアップ値を含む最初の列は昇順です。 したがって、結果は正しいものになります。
- 近似一致の戻り値も取得できます。 i.e. HLOOKUPは次のように計算します-
Marks | < 35 | >= 35 and < 50 | >= 50 and < 60 | >=60 and < 75 | >= 75 |
Pass Category | Fail | Third Class | Second Class | First Class | First Class with Distinction |
次の結果が得られます-
INDEX関数を使用する
データの配列がある場合、配列内のその値の行番号と列番号を指定することにより、配列内の値を取得できます。
次の販売データを検討してください。ここでは、リストされている販売員による北、南、東、および西の各地域の販売を見つけます。
- 配列にSalesDataという名前を付けます。
INDEX関数を使用すると、見つけることができます-
- 特定の地域の営業担当者の販売。
- すべての営業担当者による地域の総売上。
- すべての地域の営業担当者による総売上。
次の結果が得られます-
営業担当者の行番号と地域の列番号がわからないとします。 次に、インデックス関数で値を取得する前に、最初に行番号と列番号を見つける必要があります。
次のセクションで説明するように、MATCH関数を使用して実行できます。
MATCH関数を使用する
範囲内のアイテムの位置が必要な場合は、MATCH関数を使用できます。 次のようにMATCHとINDEX関数を組み合わせることができます-
次の結果が得られます-