Excelで業務を効率化したい方にとって、VLOOKUP関数(ブイルックアップ関数)は必ず覚えておきたい基本関数の一つです。特に、別シートのデータを参照しながら検索・抽出を行いたいという場面は、商品管理や社員名簿、顧客リストなど、さまざまな業務で登場します。
この記事では、VLOOKUP関数を別シートで使う方法を、構文・記述のルール・実務的な使用例・エラー回避のポイントまでを詳しく解説します。
目次
- VLOOKUP関数の基本構文をおさらい
- ✅VLOOKUPを別シートで使うには?
- ・ 基本構文(別シート参照)
- ✅実務でよくある別シートVLOOKUPの活用例
- ・社員名簿から部署名を取得する方法
- ・商品コードから商品名を取得する方法
- ・複数ブック(ファイル)をまたいで検索する方法
- ■ よくあるエラーとその原因・対処法
- ■ VLOOKUP×別シート活用のポイント
- ・ 絶対参照($)の使い方をマスターしよう
- ・ テーブル機能を使えばさらに便利
- ・ 一致方法は「FALSE(完全一致)」を基本に
- ■ VLOOKUPの代替関数にも注目:XLOOKUPとの違い
- ■ 条件付きでVLOOKUPの参照先を切り替えるには?
- ■まとめ:VLOOKUP関数を別シートで使いこなして、Excel業務の効率を飛躍的に向上させよう
VLOOKUP関数の基本構文をおさらい
まずは、VLOOKUP関数の基本的な書き方を確認しておきましょう。
=VLOOKUP(検索値, 範囲, 列番号, [検索方法])
- 検索値:検索したいデータ(例:商品コード、社員番号など)
- 範囲:検索対象の表(※検索値の列は必ず一番左に)
- 列番号:返したい値が何列目にあるか(左から数える)
- 検索方法:完全一致を使う場合は「FALSE」
✅VLOOKUPを別シートで使うには?
VLOOKUP関数は、同一シートだけでなく、他のシートのデータも自由に参照可能です。別シートの範囲を指定するには、シート名+「!」マークを使って参照します。【Excel】【初心者向け】VLOOKUP関数の使い方をやさしく解説|Excelの検索・参照を自動化しよう!
・ 基本構文(別シート参照)
=VLOOKUP(検索値, シート名!範囲, 列番号, FALSE)
■ 例:
- 「商品コード」が「Sheet1」のA2セルに入力されており、
- 「商品マスタ」が「商品一覧」シートのA列~C列に存在するとき
=VLOOKUP(A2, 商品一覧!A2:C100, 2, FALSE)
→ 商品一覧シートのA列で商品コードを検索し、B列(2列目)の商品名を取得します。
■ シート名にスペースがある場合は '(シングルクォーテーション)で囲む
=VLOOKUP(A2, '商品 マスタ'!A2:C100, 2, FALSE)
→ スペースや記号を含むシート名では必ずシングルクォーテーションで囲むようにしましょう。
【Excel】【トラブル解決】VLOOKUPで該当データがあるのにヒットしない原因と対処法|検索値があるのに#N/Aになるときは?
✅実務でよくある別シートVLOOKUPの活用例
・社員名簿から部署名を取得する方法
- 「入力画面」シートに社員番号を入力
- 「社員名簿」シートに、社員番号・名前・部署が記載されている
=VLOOKUP(A2, 社員名簿!A2:C100, 3, FALSE)
→ 社員番号に一致する行から、部署名(3列目)を取得
・商品コードから商品名を取得する方法
- 「受注入力」シートに商品コードが入力されている
- 「商品マスタ」シートに商品コードと商品名が記載されている
=VLOOKUP(B2, 商品マスタ!A2:B100, 2, FALSE)
→ 商品コードに対応する商品名を表示
・複数ブック(ファイル)をまたいで検索する方法
VLOOKUPは別ファイル(ブック)からも参照可能です。ただし、元ブックが閉じていると読み込みが遅くなる場合があります。
=VLOOKUP(A2, '[商品マスタ.xlsx]商品一覧'!$A$2:$C$100, 2, FALSE)
→ 別ブックを参照するときは、ファイル名を [ ] で囲み、シート名と範囲を続ける書き方になります。
【Excel】VLOOKUPで#N/Aエラーが表示される原因と解決方法
■ よくあるエラーとその原因・対処法
| エラー | 原因 | 対処法 |
|---|---|---|
#N/A | 検索値が見つからない | 検索値とマスタの形式(スペース・全角半角)を確認 |
#REF! | 列番号が範囲外 | 範囲内の列数より大きい列番号になっていないか確認 |
#VALUE! | 引数が間違っている | 第4引数(検索方法)に「FALSE」を指定する |
| 常に同じ結果になる | 絶対参照が原因 | 必要に応じて $ を付ける、または外す |
■ VLOOKUP×別シート活用のポイント
・ 絶対参照($)の使い方をマスターしよう
数式をコピーして他のセルに貼り付ける際、参照範囲がズレると誤動作します。
範囲を固定するには、**絶対参照($A$2:$C$100)**を使います。
・ テーブル機能を使えばさらに便利
参照先のデータを**テーブル化(Ctrl + T)**しておくと、列の追加や並び替えに強く、VLOOKUPでも名前付き範囲のように扱えます。
=VLOOKUP(A2, 商品マスタ, 2, FALSE)
→ 「商品マスタ」はテーブル名として定義
・ 一致方法は「FALSE(完全一致)」を基本に
第4引数(検索方法)を省略すると「TRUE(近似一致)」になります。
業務上は「完全一致」を使うケースがほとんどなので、必ず FALSE を明示的に記述しましょう。
■ VLOOKUPの代替関数にも注目:XLOOKUPとの違い
Excel 365 / 2021以降では、XLOOKUP関数が登場しており、VLOOKUPより柔軟な使い方が可能です。
| 機能 | VLOOKUP | XLOOKUP |
|---|---|---|
| 左方向検索 | ❌ 不可 | ✅ 可能 |
| 列番号指定 | ✅ 必要 | ❌ 範囲で直接指定 |
| エラー処理 | IFERRORなどで補完 | 関数内で第4引数で直接対応 |
| 検索速度 | △(大規模データで重くなる) | ◎(より効率的) |
■ 条件付きでVLOOKUPの参照先を切り替えるには?
条件によって別シートを参照させたい場合は、IF関数と組み合わせてVLOOKUPの検索範囲を動的に切り替えることも可能です。
=IF(B2="法人", VLOOKUP(A2, 法人マスタ!A2:C100, 2, FALSE), VLOOKUP(A2, 個人マスタ!A2:C100, 2, FALSE))
→ 「B2の顧客区分」によって参照先のシートを切り替える例
【Excel】PDFを取り込む方法【データを活用するテクニック】
■まとめ:VLOOKUP関数を別シートで使いこなして、Excel業務の効率を飛躍的に向上させよう
VLOOKUP関数を別シートで使えるようになると、Excelの使い方は一気に広がります。マスタデータを一元管理しつつ、入力シートから自動的にデータを取得できるようになるため、業務の効率と正確性が大幅に向上します。
ポイントは以下の通りです:
- シート名+「!」で別シートを正しく参照する
- スペースのあるシート名は
'で囲む - 範囲は絶対参照にしてズレを防止
- 第4引数には 必ずFALSEを指定して完全一致にする
- 複数シートやブックを組み合わせて使えば、より強力な自動化が可能に
実務に役立つテンプレートや活用例を繰り返し試しながら、VLOOKUP関数を使いこなしていきましょう!