VLOOKUPで別シートのデータを参照する方法を図解で解説。シート名の書き方・別ファイル参照・よくあるエラーの対処法まで実務サンプル付きで紹介します。
目次
この記事でわかること
- 別シートを参照するときの基本の書き方(シート名!範囲)
- マウス操作だけでシート名を自動入力する手順
- 別ファイル(別ブック)参照の書き方と運用上の注意点
- 長期運用で安全なシート設計の考え方
- よくある#REF!・#N/Aエラーの原因と対処法
VLOOKUPで別シートを参照する基本の書き方
同じシート内ではなく、別のシートにあるマスタ表を参照するには、範囲の前に シート名と「!」 を付けます。
=VLOOKUP(検索値, シート名!範囲, 列番号, FALSE)
例:「マスタ」シートのF列〜I列を参照する場合
=VLOOKUP(C3,マスタ!F:I,2,FALSE)
シート名にスペースや記号が含まれる場合は、シート名をシングルクォーテーションで囲みます。
=VLOOKUP(C3,'商品 マスタ'!F:I,2,FALSE)
「書き方が難しそう」と感じる必要はありません。実際にはマウスでシートをクリックしながら操作するだけで自動入力されるため、構文を暗記しなくて大丈夫です。(※出典:Microsoft サポート「別のワークシートまたはブックのデータを参照する」)
【実務図解】VLOOKUPでマスターシートから商品データを引っ張る手順
「受注管理」シートに商品IDを入力したら、「商品マスタ」シートから商品名と単価を自動取得する仕組みを作ります。
シート構成:
- 受注管理 シート:入力・集計用
- 商品マスタ シート:商品ID・商品名・単価・メーカーのマスタ
手順(マウス操作のみでシート名が自動入力されます)



- 「受注管理」シートの商品名セル(D3)をクリック
- =VLOOKUP( と入力
- 検索値:C3(商品ID)をクリック → カンマ「,」
- 「商品マスタ」シートのタブをクリックしてシートを切り替える
- マスタのF列〜I列をドラッグして選択 → カンマ「,」 (数式バーに 商品マスタ!F:I と自動入力される)
- 列番号:2 → カンマ「,」
- FALSE → 「)」でEnter
- 「受注管理」シートに自動で戻り、結果が表示される
=VLOOKUP(C3,商品マスタ!F:I,2,FALSE)
VLOOKUPで別ファイル(別ブック)のデータを参照する方法
別のExcelファイルにあるマスタを参照する場合は、ファイル名とシート名を組み合わせて指定します。
ファイルが開いている場合:
=VLOOKUP(C3, [商品マスタ.xlsx]Sheet1!F:I, 2, FALSE)
ファイルが閉じている場合:
=VLOOKUP(C3,'C:UsersyamadaDocuments[商品マスタ.xlsx]Sheet1'!F:I,2,FALSE)
技術的には動きますが、正直なところ別ファイル参照は運用リスクが高いです。参照元のファイルを移動・名前変更・削除した瞬間に数式が壊れるため、チームで使うファイルや頻繁に更新されるマスタには向いていません。可能であれば同じブック内の別シートにマスタを置くのが、長期的に一番トラブルの少ない設計です。
VLOOKUPの長期運用で安全なシート設計の考え方
別シート参照を使う場合、数式を組む前に設計を少し考えておくと後々の管理が楽になります。
おすすめの設計原則
マスタシートの名前を固定する
シート名を頻繁に変えると数式が壊れます。「マスタ」「Master」など、運用中に変更しない名前にしておくのがベスト。
マスタはテーブル形式(Ctrl+T)にする
テーブルにするとデータを追加しても参照範囲が自動で拡張されます。$F$2:$I$100 のように行数を固定するよりも安全で、管理コストを下げることが可能です。
別ファイル参照は最終手段にする
どうしても別ファイルから参照する必要がある場合は、「更新作業」と「ファイル移動禁止のルール」をチームで共有しておくことが前提です。
よくあるエラーと対処法
#REF!エラー:シート名が変わった、または削除された


シート名を確認し、数式内のシート名を修正してください。Excelはシート名変更後に数式を自動更新することもありますが、必ず手動確認を推奨します。
#N/Aエラー:別シートのマスタに該当データがない
検索値がマスタに存在するか確認してください。全角・半角・余分なスペースの違いで一致しないことがよくあります。
「更新しますか?」ダイアログが毎回出る
別ファイル参照を使っているときに発生します。同じブック内のシートに移すか、リンクを解除してデータを貼り付け形式で保持するのが根本的な対処です。
別シートのマスタを変更しても結果が変わらない
自動計算が「手動」になっている可能性があります。「数式」タブ → 「計算オプション」→「自動」に変更してください。
よくある質問(FAQ)
Q. シート名に日本語を使っても問題ありませんか?
A. 問題ありません。ただしシート名にスペースや括弧などの記号が含まれる場合は、シート名全体をシングルクォーテーション(’)で囲む必要があります。マウスでシートをクリックして操作すれば自動で正しい形式に入力されるため、特に意識しなくて大丈夫です。
Q. 別シートを参照するVLOOKUPをコピーするとシート名がずれますか?
A. シート名はずれません。ただし範囲の行・列番号は通常通りずれるため、マスタ範囲は列全体(F:I)を指定するか、テーブル形式にしておくと安心です。
Q. 複数のシートから順番に検索できますか?
A. VLOOKUPは1つの範囲しか検索できません。複数シートを対象にしたい場合は、各シートのデータをひとつのマスタシートに統合するのが最もシンプルな解決策です。IFERRORを入れ子にする方法もありますが、保守が大変になるのでおすすめしません。
まとめ
VLOOKUPで別シートを参照するポイントをまとめます。
- 書き方は シート名!範囲 の形式。マウス操作で自動入力できる
- シート名にスペース・記号がある場合は ‘シート名’! のように囲む
- 別ファイル参照は移動・削除でエラーになるリスクがあるため、同一ブック内のシートで管理するのが安全
- 長期運用するならテーブル形式とシート名の固定運用が◎
操作自体はマウスでシートをクリックするだけで自動入力されるため、思ったよりハードルは低いです。まず同じブック内の別シートで試してみてください。
あわせて読みたい
VLOOKUPの使い方とは?基本構文・よくあるエラーまで完全ガイド
この記事でわかること VLOOKUPの基本構文(コピペOK) 別シート参照・複数条件の使い方 #N/A・#REF!などエラーの原因と直し方 VLOOKUPでは限…
VLOOKUPで複数条件を指定する方法【図解】|できない?代替策も完全解説
この記事でわかること VLOOKUPで複数条件が「そのままでは」使えない理由 作業列(結合列)を使って複数条件に対応する手順 XLOOKUPで作業列なしに複数条…
VLOOKUPがエラーになる原因と対処法まとめ【図解】|#N/A・#REF・#VALUEを一挙解決
この記事でわかること VLOOKUPで起きるエラー5種類と、それぞれの主な原因 #N/A・#REF!・#VALUE!・0表示・間違った値が返るときの対処法 IF…







DIME MAGAZINE















