Excelには「関数」と呼ばれる便利な機能がたくさんあります。その中でも、業務や日常のデータ整理で非常によく使われるのが VLOOKUP関数 です。
VLOOKUPを使うと、表の中から特定の情報を自動で検索して表示することができます。「商品コードから商品名を自動表示したい」「社員番号から所属部署を表示したい」といった作業を、1つの関数で簡単にできるようになるのです。
この記事では、Excel初心者の方にもわかりやすく、VLOOKUP関数の基本から実践的な使い方、よくあるエラーの対処法までを詳しく解説します。
目次
- ✅ VLOOKUP関数とは?何ができるのか
- ✅ VLOOKUP関数の基本構文
- ✅ 実際の使用例で理解しよう
- ・商品コードから商品名を表示する方法
- ✅ よく使われるVLOOKUPのパターン
- ・ 社員番号から部署を取得する方法
- ・ 顧客コードから顧客名を表示する方法
- ✅ 「列番号」は“表の左から”数える
- ■ よくあるエラーとその原因・対処法
- ■ VLOOKUP関数を使うときのコツと注意点
- ・ 第4引数は必ず「FALSE」にする
- ・ データは昇順に並んでいる必要はない(FALSEの場合)
- ・ データ更新時は「検索範囲」を拡張する
- ■ 別シートのデータも参照できる
- ■ よくある質問(FAQ)
- ■ まとめ:VLOOKUP関数はExcel業務の“自動化の第一歩”!
✅ VLOOKUP関数とは?何ができるのか
**VLOOKUP(ブイルックアップ)関数は、表の中から特定の値を「縦方向に検索」**して、関連する情報を取得するための関数です。
「V」は「Vertical(垂直)」の略で、縦方向に探すという意味があります。
✅ VLOOKUP関数の基本構文
まずは、VLOOKUP関数の書き方を見てみましょう。
=VLOOKUP(検索値, 範囲, 列番号, [検索方法])
それぞれの項目の意味は以下の通りです。
引数 | 内容 |
---|---|
検索値 | 探したい値(例:商品コード、社員番号など) |
範囲 | 検索対象となる表全体 |
列番号 | 取得したい列の番号(範囲内で左から数える) |
検索方法 | 「FALSE」で完全一致、「TRUE」で近似一致(通常はFALSEを使う) |
✅ 実際の使用例で理解しよう
・商品コードから商品名を表示する方法
▼ 商品マスタ(Sheet2)
A列:商品コード | B列:商品名 |
---|---|
A001 | コーヒー |
A002 | 紅茶 |
A003 | ジュース |
▼ 入力シート(Sheet1)
A列:商品コード | B列:商品名(自動表示) |
---|---|
A002 | =VLOOKUP(A2, 商品マスタ!A2:B100, 2, FALSE) |
この式では、A2にある商品コード「A002」を「商品マスタ」シートのA列から探し、B列の商品名「紅茶」を表示します。
【Excel】【トラブル解決】VLOOKUPで該当データがあるのにヒットしない原因と対処法|検索値があるのに#N/Aになるときは?
✅ よく使われるVLOOKUPのパターン
【Excel】VLOOKUPで#N/Aエラーが表示される原因と解決方法
・ 社員番号から部署を取得する方法
=VLOOKUP(B2, 社員マスタ!A2:C100, 3, FALSE)
→ 社員番号をもとに、3列目の部署名を取得
・ 顧客コードから顧客名を表示する方法
=VLOOKUP(A2, 顧客マスタ!A2:B100, 2, FALSE)
→ 顧客コードに基づき、顧客名を表示
✅ 「列番号」は“表の左から”数える
VLOOKUP関数では、データを探す「検索列」は表の左端(1列目)でなければなりません。
また、「列番号」は検索範囲内で左から数えた番号を指定します。
たとえば、
=VLOOKUP(A2, A2:C100, 3, FALSE)
なら、3列目=C列の値を返す、という意味になります。
■ よくあるエラーとその原因・対処法
エラー | 原因 | 対処法 |
---|---|---|
#N/A | 該当するデータが見つからない | 検索値や検索範囲を見直す(スペース・全角/半角に注意) |
#REF! | 列番号が範囲外 | 検索範囲に合った列番号に修正する |
#VALUE! | 引数の型が違う、数式ミス | 構文を見直す(特にカンマの位置) |
正しい値が返らない | 検索方法がTRUEになっている | FALSE(完全一致)に変更する |
■ VLOOKUP関数を使うときのコツと注意点
・ 第4引数は必ず「FALSE」にする
VLOOKUP関数の最後の引数(検索方法)を省略すると、「近似一致(TRUE)」が適用されます。これでは正確な一致が見つからず、意図しない値が返ることがあります。
初心者のうちは、常に以下のように書くのがおすすめです。
=VLOOKUP(検索値, 範囲, 列番号, FALSE)
・ データは昇順に並んでいる必要はない(FALSEの場合)
近似一致(TRUE)では、検索列を昇順に並べる必要がありますが、完全一致(FALSE)であれば並び順は関係ありません。
・ データ更新時は「検索範囲」を拡張する
データが追加されることを想定して、検索範囲を広めに指定しておくのがおすすめです。
例:
=VLOOKUP(A2, 商品マスタ!A2:B1000, 2, FALSE)
→ 将来データが増えても対応可能に
【Excel】範囲を指定してPDF化する方法【必要な部分だけをPDFに!】
■ 別シートのデータも参照できる
VLOOKUP関数は、別のシートやファイルの表も検索可能です。
・別シート参照の例:
=VLOOKUP(A2, 商品一覧!A2:B100, 2, FALSE)
※「商品一覧」が別シートの名前です。
・ 別ファイル参照の例:
=VLOOKUP(A2, '[商品マスタ.xlsx]一覧'!A2:B100, 2, FALSE)し
■VLOOKUPでできないことと、その代替方法
やりたいこと | VLOOKUPでの制限 | 代替方法 |
---|---|---|
左側の列を返したい | ❌ 不可 | INDEX+MATCH関数で対応可能 |
複数条件で検索したい | ❌ 不可(1つの検索値のみ) | ヘルパー列を使って対応可能 |
動的に列を指定したい | ❌ 不便(列番号で指定) | XLOOKUP関数(Excel 365)を使う |
■ よくある質問(FAQ)
Q1. 商品コードを入力しても何も表示されません。なぜ?
A. 検索値と検索対象が完全に一致していない可能性があります。スペース・全角/半角の違い・非表示文字などをチェックしてください。
Q2. 商品名が変わったとき、自動的に更新されますか?
A. はい。VLOOKUPは常に参照している表から最新の値を取得するため、元データを更新すれば自動で反映されます。
Q3. 検索対象が複数の条件にまたがっている場合は?
A. VLOOKUPは1つの検索キーにのみ対応します。複数条件で検索したい場合は「条件を結合したヘルパー列」を使う方法がおすすめです。
■ まとめ:VLOOKUP関数はExcel業務の“自動化の第一歩”!
VLOOKUP関数は、Excelで「表から情報を検索して自動表示したい」というニーズにピッタリの関数です。初心者の方でも、構文とルールをしっかり覚えれば、すぐに活用できるようになります。
- 商品コードから商品名を表示
- 社員番号から所属部署を取得
- 顧客番号から顧客名を表示
といった日常業務を効率化するために、ぜひVLOOKUP関数をマスターして、Excelの自動化・省力化の第一歩を踏み出しましょう!