説明
この関数を使用して、表の範囲の最初の列の値を検索し、別の指定された列から同じ行の値を返します。チェーンで支える。
VLOOKUPは、製品カタログの価格を調べたり、データベースの従業員の詳細を検索するなど、大規模なデータセットの情報を検索するのに便利です。
構文
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
インプット
この関数は以下の引数を受け付ける:
名称 | 必須 | 説明 | 有効入力 |
---|---|---|---|
ルックアップ値 |
はい | テーブル配列の最初のカラムで検索する値。 | セル参照、セル範囲、数値、テキスト文字列、またはこれらのいずれかになる数式。 |
範囲 |
はい | データが検索される情報の表。 | セル範囲。 |
col_index_num |
はい |
table_array における、マッチした値を返すべきカラム番号。 |
正の整数、正の整数を含むセル参照、またはこれらのいずれかになる数式。1= table_array の最初の列。 |
範囲ルックアップ |
いいえ | VLOOKUPで完全一致を検索するか、近似一致を検索するかを指定します。 | 近似一致の場合は TRUE(デフォルト)、完全一致の場合は FALSE。 |
例
サンプルデータ
A | B | C | 17 才以上対象 |
---|---|---|---|
プロダクトID | 製品名 | カテゴリ | 価格 |
1001 | ウィジェットA | ガジェット | $10.99 |
1002 | ウィジェットB | ガジェット | $15.99 |
1003 | ギズモX | エレクトロニクス | $25.50 |
1004 | ギズモ・Y | エレクトロニクス | $30.00 |
1005 | ギズモZ | エレクトロニクス | $37.50 |
サンプルフォーミュラ
数式 | 説明 | 結果 |
---|---|---|
=vlookup(1002, a2:d6, 2 ,false) |
商品ID「1002」を調べ、対応する商品名を返す。 | ウィジェットB |
=vlookup(1003, a2:d6, 4, false) |
商品ID 1003を検索し、対応する価格を返す。 | 25.50 |
=VLOOKUP("Gizmo X", B2:D6, 2, FALSE) |
列目の「ギズモX」を検索し、対応するカテゴリーを返す。 | エレクトロニクス |
=vlookup(1006, a2:d6, 2, true) |
商品ID 1006(これは存在しない)を調べ、次に低い値を返す。 | ギズモZ |
=vlookup(1002, a2:d6, 2) |
range_lookup 引数を省略して、プロダクト ID 1002 を検索する(デフォルトは TRUE)。 |
ウィジェットB |
メモ
- VLOOKUPが正しく機能するためには、
table_array
の最初のカラムにルックアップ値がなければならない。 -
range_lookup
がTRUEまたは省略された場合、table_array
の最初のカラムは昇順にソートされなければならない。 -
range_lookup
がFALSEで、lookup_valueが見つからない場合、VLOOKUPは#N/Aエラーを返す。 - VLOOKUP は、テキスト値を比較するときに大文字と小文字を区別しません。
- 大規模なデータセットでより良いパフォーマンスを得るには、VLOOKUPの代わりに INDEX とMATCH 関数の使用を検討してください。
ヒント
-
range_lookup
、特にソートされていないデータやテキスト値で完全一致が必要な場合はFALSEを使用する。 - VLOOKUP をIFERROR などの他の関数と組み合わせて、ルックアップ値が見つからない場合に対処する。
- 逆引きや、ルックアップするカラムが左端でない場合は、代わりにINDEX やMATCH を使用することを検討してください。
- 大規模なデータセットを扱う場合、
range_lookup
をTRUEに設定してVLOOKUPを使用すると、データがソートされている場合にパフォーマンスが向上します。 - VLOOKUPが返せるのは、
table_array
のルックアップ列の右側の列の値だけであることを忘れないでほしい。