Excelでデータを管理する際、特定の値を元に別の列からデータを検索することがよくあります。そのような時に役立つのがVLOOKUP関数です。VLOOKUP関数は、縦方向に検索し、対応するデータを取得するのに便利なツールです。この記事では、VLOOKUP関数の基本的な使い方から応用的な活用法までを詳しく解説します。
VLOOKUP関数とは?
VLOOKUP関数は、Excelで縦方向にデータを検索し、指定された範囲内のデータを見つけ、その値に対応する別の列の値を返すための関数です。データが縦に並んでいるテーブルやリストの中で、特定の値に関連するデータを取得するのに便利です。
VLOOKUP関数の基本的な構文
=VLOOKUP(検索値, 範囲, 列番号, [検索方法])
- 検索値: 検索したい値を指定します。
- 範囲: 検索を行う範囲(テーブルまたはセル範囲)を指定します。
- 列番号: 検索範囲内で返したい値が存在する列番号を指定します。左端の列を1列目として数えます。
- [検索方法]: 完全一致の場合は「FALSE」、近似一致の場合は「TRUE」を指定します。省略した場合は「TRUE」(近似一致)になります。
VLOOKUP関数の実際の例
例えば、次のような商品リストがあるとします。
商品コード | 商品名 | 価格 |
A101 | ペン | 100円 |
A102 | ノート | 200円 |
A103 | 消しゴム | 50円 |
このリストの中から、商品コード「A102」の商品名を検索するには、次のようにVLOOKUP関数を使います。
=VLOOKUP(“A102”, A2:C4, 2, FALSE)
この場合、ノートが返されます。商品コード「A102」に対応する商品名が2列目にあるためです。
A | B | C | D |
A101 | ペン | 100円 | |
A102 | ノート | 200円 | =VLOOKUP(“A102”, A2
, 2, FALSE) → ノート |
A103 | 消しゴム | 50円 |
VLOOKUP関数の応用例
価格を検索する
同じ商品リストを使って、商品コード「A103」の価格を検索する場合は、次のように列番号に「3」を指定します。
=VLOOKUP(“A103”, A2:C4, 3, FALSE)
これにより、商品コード「A103」に対応する価格「50円」が返されます。
近似一致での検索
VLOOKUP関数を使って、近似一致による検索も可能です。例えば、次のようなテーブルで近似した値を検索する場合、検索方法に「TRUE」または省略を指定します。
点数 | 成績 |
0 | F |
60 | D |
70 | C |
80 | B |
90 | A |
次の式を使って、点数「75」の成績を検索すると、近似一致により「C」が返されます(70点以上80点未満が「C」に該当するため)。
=VLOOKUP(75, A2:B6, 2, TRUE)
このように、近似一致は範囲内で一番近い値を返すのに便利です。ただし、範囲が昇順に並んでいる必要があります。
別シートからの検索
VLOOKUP関数は、別のシートからの検索も可能です。例えば、シート「商品データ」から商品コード「A101」に対応する価格を検索するには、次のように入力します。
=VLOOKUP(“A101”, 商品データ!A2:C4, 3, FALSE)
これにより、別のシートから商品コード「A101」に対応する価格が返されます。
不足データをエラーメッセージとして表示
VLOOKUP関数を使って検索する際に、該当するデータが見つからない場合、通常は#N/Aエラーが返されます。このエラーを避けるために、IFERROR関数を使ってエラーメッセージを表示することができます。
例えば、商品コード「A104」を検索した際に「該当なし」と表示させるには、次のように入力します。
=IFERROR(VLOOKUP(“A104”, A2:C4, 2, FALSE), “該当なし”)
これにより、該当する商品コードがない場合は「該当なし」と表示されます。
データ範囲の自動調整(テーブル機能の活用)
Excelのテーブル機能を使えば、データが増減してもVLOOKUP関数が自動的に範囲を認識して検索を行うことができます。テーブル機能を使うことで、データが変わってもVLOOKUP関数の更新が不要になり、効率的に管理できます。
VLOOKUP関数の便利な豆知識
列番号の指定に注意
VLOOKUP関数では、検索範囲の中で何番目の列から値を取得するかを列番号で指定します。列番号は、指定した検索範囲の左から数えた順番になります。例えば、検索範囲がA2
で、2列目を指定する場合は列番号を「2」と指定します。検索範囲内の正しい列番号を指定しないと、正しいデータが返されません。
VLOOKUP関数の制約
- 左端からしか検索できない: VLOOKUP関数は、指定した範囲の左端の列でのみ検索を行います。そのため、検索したい値が右側にある場合には、範囲を工夫する必要があります。こうした制約を回避するためには、より柔軟な検索が可能なXLOOKUP関数の使用が推奨されます。
- データの並び順が重要: 近似一致(TRUE)での検索では、検索範囲のデータが昇順に並んでいる必要があります。データが正しく並んでいない場合、期待した結果が得られないことがあります。
よくあるVLOOKUP関数の使い方の工夫
IF関数やCHOOSE関数など、他の関数と組み合わせて、VLOOKUP関数の機能を拡張することも可能です。例えば、異なる条件で検索結果を切り替えたり、複数の条件に基づいて検索を行う場合に便利です。
VLOOKUP関数のよくあるエラーと対処法
#N/Aエラー
#N/Aエラーは、検索値が範囲内に見つからない場合に発生します。このエラーを回避するためには、IFERROR関数を使ってエラーメッセージや別の値を返すように設定できます。
=IFERROR(VLOOKUP(“A104”, A2:C4, 2, FALSE), “該当なし”)
#REF!エラー
#REF!エラーは、指定した列番号が範囲外である場合に発生します。列番号が範囲の列数を超えていないか確認し、正しい列番号を指定しましょう。
#VALUE!エラー
#VALUE!エラーは、VLOOKUP関数で検索値や範囲が無効である場合に発生します。検索範囲や検索値が正しく入力されているか確認し、範囲のセル形式が正しいか確認しましょう。
まとめ
ExcelのVLOOKUP関数は、縦方向にデータを検索して対応する値を取得するための便利なツールです。商品リストやデータベースなどで特定の値に対応する情報を取得する際に役立ちます。ただし、検索方法や列番号、範囲の設定には注意が必要です。VLOOKUP関数を正しく使いこなすことで、効率的にデータを管理しましょう。