説明
テーブル範囲の最初の列の値を検索し、同じ行の別の指定された列の値を返却するには、この関数を使用します。チェーンでサポートされます。
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 |
D |
||
|---|---|---|---|---|---|
1 |
プロダクトID | 製品名称 | カテゴリ | 価格 | |
2 |
1001 |
ウィジェットA |
ガジェット |
$10.99 |
|
3 |
1002 |
ウィジェットB |
ガジェット |
$15.99 |
|
4 |
1003 |
ギズモX |
電子機器 |
$25.50 |
|
5 |
1004 |
ギズモ・Y |
電子機器 |
$30.00 |
|
6 |
1005 |
ギズモZ |
電子機器 |
$37.50 |
数式のサンプル
| 使用例 | 数式 | 説明と結果 |
|---|---|---|
| 商品IDを検索して、完全一致する商品名称を検索します。 | =vlookup(1002, a2:d6, 2, false) |
この数式は次のように機能する:
結果:Widget B。 |
| 商品IDを検索して、完全に一致する対応する価格を検索します。 | =VLOOKUP(1003, A2:D6, 4, FALSE) |
この数式は次のように機能する:
結果:$25.50。 |
| 商品名称を検索して、完全一致する対応するカテゴリを検索します。 | =VLOOKUP("Gizmo X", B2:D6, 2, FALSE) |
この数式は次のように機能する:
結果:Electronics。 |
| 近似値を調べ、対応する行の値を返却します。 | =VLOOKUP(1006, A2:D6, 2, TRUE) |
この数式は次のように機能する:
結果:Gizmo Z。 |
range_lookup 引数を省略して商品IDを検索します。 |
=VLOOKUP(1002, A2:D6, 2) |
この数式は次のように機能する:
結果:Widget 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、ルックアップ列の右側の列からのみ値を返せることを覚えておいてください。