Skip to main content

ExcelでVLOOKUPを使用してデータを検索する方法

Excel VLOOKUPの限界!検索値の左側にあるデータを抽出したいのにできない・・・INDEX × MATCHでお悩み解決! (六月 2026)

Excel VLOOKUPの限界!検索値の左側にあるデータを抽出したいのにできない・・・INDEX × MATCHでお悩み解決! (六月 2026)
Anonim

「垂直ルックアップ」を表すExcelのVLOOKUP関数は、範囲の最初の列の値を検索し、同じ行の他の列の値を返します。

特定のデータが含まれているセルが見つからない場合、VLOOKUPはそのデータを見つけるのに非常に効果的です。情報を見つけることが難しい巨大なスプレッドシートで特に役立ちます。

この記事の手順は、Excel 2016、2013、2010に適用されます。 Macの場合はExcel、365 / Onlineの場合はExcel。

VLOOKUP関数のしくみ

VLOOKUPは通常、その出力として単一のフィールドのデータを返します。

この仕組み:

  1. あなたは名前または 参照値 VLOOKUPに、データテーブルのどの行が目的のデータを探すかを指示します。
  2. あなたは列番号を col_index_num 引数は、VLOOKUPにあなたが探しているデータが入っていることを伝えます。
  3. この関数は、 参照値 データテーブルの最初の列に入力します。
  4. VLOOKUPは、次に定義した列番号から情報を検索して返します。 col_index_numルックアップ値と同じ行から取得します。

VLOOKUP関数の引数と構文

VLOOKUP関数の構文は次のとおりです。

= VLOOKUP(lookup_value、table_array、col_index_num、range_lookup)

VLOOKUP関数には4つの引数が含まれているので混乱して見えるかもしれませんが、使用するのは簡単です。

VLOOKUP関数の4つの引数は次のとおりです。

lookup_value(必須):テーブル配列の最初の列で検索する値。

table_array(必須) - これは、VLOOKUPが必要な情報を検索するために検索するデータテーブル(セルの範囲)です。

  • table_arrayには少なくとも2列のデータが含まれている必要があります
  • 最初の列には、lookup_value

col_index_num(必須) - これは、検索したい値の列番号です。

  • 番号付けは列1から始まります
  • テーブル配列の列数より大きい数値を参照すると、関数は#REF!を返します。エラー

range_lookup(オプション) - ルックアップ値がテーブル配列に含まれる範囲内にあるかどうかを示します。 range_lookup引数は "TRUE"または "FALSE"です。近似マッチはTRUE、完全一致はFALSEを使用します。省略された場合、値はデフォルトでTRUEになります。

range_lookup引数がTRUEの場合は、次のようになります。

  • lookup_valueは、table_arrayで定義された範囲内に入るかどうかをチェックする値です。
  • table_arrayには、すべての範囲と、範囲値(高、中、低など)を含む列が含まれます。
  • col_index_num引数は結果の範囲値です。

Range_Lookup引数のしくみ

オプションの使用 range_lookup 議論は多くの人々が理解するのが難しいので、簡単な例を見る価値があります。

上記の画像の例では、VLOOKUP関数を使用して、購入したアイテムの数に応じて割引率を求めています。

この例では、19品目の購入に対する割引は2%です。これは19品目が11 ルックアップテーブルの列。

結果として、VLOOKUPはルックアップテーブルの2番目の列の値を返します。その行にはその範囲の最小値が含まれているからです。範囲ルックアップテーブルを設定するもう1つの方法は、最大値の2番目の列を作成することです。この範囲は最小値が11で、最大値が20になりますが、結果は同じです。

この例では、VLOOKUP関数を含む以下の式を使用して、購入された商品の数量に対する割引を検索します。

= VLOOKUP(C2、$ C $ 5:$ D $ 8,2、TRUE)

  • C2:これは検索値で、スプレッドシート内の任意のセルに含めることができます。
  • $ C $ 5:$ D $ 8:これは、使用したいすべての範囲を含む固定テーブルです。
  • 2:これは、LOOKUP関数が返す範囲ルックアップテーブルの列です。
  • range_lookup この機能の特徴です。

一度押すと 入る結果が最初のセルに戻ると、列全体を自動入力してルックアップ列の残りのセルの範囲結果をルックアップすることができます。

range_lookup引数は、混在した数値の列をさまざまなカテゴリに分類するための魅力的な方法です。

VLOOKUPエラー:#N / Aおよび#REF

VLOOKUP関数は、次のエラーを返す可能性があります。

#N / A 次の条件の場合に発生します。

  • 参照値 table_array引数の最初の列に見つかりません
  • テーブル・アレイ 議論が不正確です。たとえば、引数には範囲の左側に空の列が含まれます
  • Range_lookup 引数がFALSEに設定されていて、lookup_value引数の完全一致が、最初の列に見つかりません。 テーブル・アレイ
  • range_lookup 引数がTRUEに設定され、table_arrayの最初の列の値がすべてlookup_valueより大きい場合

#REF! col_index_numがtable_arrayの列数より大きい場合、「範囲外の参照」エラーが発生します。