VLOOKUP関数で「別シートを参照したいのに、うまく表示されない」「#N/Aエラーが出てしまう」と困った経験はありませんか?
VLOOKUPはExcelの中でも使用頻度が高い関数ですが、別シート参照になると一気につまずきやすいのが特徴です。

原因は難しいものではなく、

  • 範囲指定のミス
  • 絶対参照の設定漏れ
  • シート名の指定方法

など、よくある初歩的なポイントであることがほとんどです。

この記事では、「VLOOKUP関数で別シートの参照ができない」と悩んでいる方に向けて、原因 → 正しい書き方 → よくあるミス → 解決しないときの対処法を順番に解説します。

サルでもわかるVLOOKUP関数!初心者向けに使い方を紹介この記事では、Excel初心者の方でもサルでもわかるように、VLOOKUP関数の基本的な使い方を丁寧に解説していきます。これを読めば、表の中から必要なデータを素早く見つける方法がマスターできるはずです。さっそく始めてみましょう!...

VLOOKUPで別シート参照ができない原因とは?

VLOOKUPで別シート参照ができない場合、多くはExcelの不具合ではなく、設定や書き方の問題です。
まずは、代表的なエラーや症状から原因を見ていきましょう!

#N/Aエラーが表示される場合

#N/Aエラーは「検索値が見つかりません」という意味です。
別シート参照でこのエラーが出る場合、次のような原因が考えられます。

  • 検索値が参照先シートの範囲に存在しない
  • 検索範囲の一番左列に検索値がない
  • 全角・半角や空白の違いがある

VLOOKUPは完全一致が前提の場合が多いので、見た目が同じでも内部的に違う値だとエラーになります。

値が合っているのに結果が返らない場合

エラーは出ていないのに、空白や想定外の値が表示されるケースは、

  • 列番号の指定ミス
  • 参照範囲がズレている
  • 近似一致になっている

といった原因が多いです。
特に別シート参照では、オートフィル時のズレに注意が必要です。

VLOOKUP関数で重複をチェック!Excelで重複を確認する方法今回はVLOOKUP関数、COUNTIF関数、重複を確認する方法をご紹介します。またUNIQUE関数を使って重複する値をカットして一意の値として表示する方法も解説していきます。...

VLOOKUPで別シートを正しく参照する基本構文

ここで、別シート参照の正しい書き方を確認しておきましょう。下記の記事でも詳しく説明しているので確認してみてください。

VLOOKUP関数で別シートを参照しよう!VLOOKUPを使いこなすExcelのVLOOKUP関数で別シートのデータ範囲を参照する方法を図を使ってわかりやすく解説します。実務では、別シートのデータを抽出することが多いので、この機会に覚えておきましょう!...

別シート参照の正しい書き方

VLOOKUP関数でシートを参照する際の基本構文は以下のとおりです。

=VLOOKUP(検索値, シート名!検索範囲, 列番号, 検索方法)

検索値・・・検索したい値のセルを指定
検索範囲・・参照したいデータ範囲を指定
列番号・・・検索範囲内で参照したい列番号を指定
検索方法・・完全一致なら「FALSE」または「0」で指定

例えば下記のようになります。

=VLOOKUP(A2, Sheet2!A:B, 2, 0)

ポイントは、「シート名!検索範囲」という形で指定することです。

シート名に注意すべきポイント

シート名にスペースや記号が含まれている場合は、シングルクォーテーション(’)で囲む必要があります。シングルクォーテーションがついていないとデータを参照できないので要注意です。

例えば「売上 データ」というシート名からデータを参照したい場合は次のようになります。

=VLOOKUP(A2, ‘売上 データ’!A:B, 2, 0)

VLOOKUP関数の応用5選!ExcelスキルをUPする時短ワザExcelのVLOOKUP関数の応用を5選ご紹介します。具体的に部分一致検索・複数の値を取得・別シートからデータを参照・複数条件・#N/Aエラーを非表示にする方法を解説していきます。...

別シート参照でよくあるミスと対処法

ここからは、実務で特に多いミスを見ていきましょう。

検索範囲に検索値が含まれていない

VLOOKUP関数は、検索範囲の一番左の列から検索します。
別シートの範囲指定がズレていると値があっても見つかりません。

対処法:検索値が必ず範囲の左端に来るように指定します。

列番号の指定ミス

列番号は、検索範囲の左から何列目かを指定します。
別シートだと、どの列を参照しているか分からなくなりがちです。

対処法:範囲を一度選択し直して左から数え直しましょう。

近似一致(TRUE)になっている

第4引数を省略すると、近似一致(TRUE)になります。
これが原因で正しく検索できないケースは非常に多いです。

対処法:一旦検索方法はFALSEまたは0を指定しましょう。

絶対参照を設定しないと起きるトラブル

別シートにかかわらず範囲を指定する関数は、絶対参照を設定しないとトラブルが起きます。

絶対参照とは?

数式をコピーしても参照するセルが動かないように固定する指定方法です。セル番地に $(ドルマーク) を付けることで、常に同じセルや範囲を参照できます。

$(ドルマーク)の正しい使い方

VLOOKUP関数で絶対参照を使う場合、下記のようになります。

=VLOOKUP(A2, Sheet2!$A$2:$B$100, 2, FALSE)

それでも別シート参照できない場合のチェックリスト

ここまで直しても解決しないとストレスが溜まりますよね…。でもまだ原因はあるので次の項目を見ていきましょう。

全角・半角の違い

VLOOKUPでは、見た目が同じでも内部的に異なる値は別物として扱われます。
そのため、数字や英字であっても、全角と半角が混ざっていると一致せず #N/A エラーになることがあります。

特に注意したいのは下記です。

  • 他システムからコピーしたデータ
  • WebページやPDFから貼り付けた値

対処法としては、CLEAN関数やSUBSTITUTE関数で不要な文字を除去したり、すべてのデータを全角にするといった方法が有効です。

【複数条件で一括置換】SUBSTITUTE関数が便利すぎるSUBSTITUTE関数で○なら✖へ、△なら■へなど複数の置換を一気にやる方法をご紹介します!実際に、一つの条件ごとにSUBSTITUTE関数を使うのは手間がかかりますね。そんな面倒な作業を解決する方法をこの記事では学べます。...

数値と文字列の違い

Excelでは、数値と文字列はまったく別のデータ型として扱われます。
そのため、見た目が「100」でも、数値の100文字列の”100″が混在していると、VLOOKUPでは一致しません。

この問題は、

  • 先頭にアポストロフィ(’)が付いている
  • CSVや外部データを取り込んだ

場合によく発生します。

対処法としては、VALUE関数で数値に変換する形式を「標準」に変更して再入力する
といった方法があります。

先頭・末尾の空白

検索値や参照先データに目に見えない空白(スペース)が含まれていると、VLOOKUPは一致しません。特に先頭や末尾の空白は見逃しやすく原因特定が難しいポイントです。

このような空白は、

  • コピー&ペースト
  • 他システムからのデータ連携

で混入しやすくなります。

対処法としては、TRIM関数を使って不要な空白を削除するのが効果的でしょう。
それでも解決しない場合は、CLEAN関数と組み合わせて文字列を整えると改善することがあります。

エクセルで空白を一気に削除したい方へ|TRIM(トリム)関数やショートカットで解決エクセルのTRIM(トリム)関数やショートカット[Ctrl+H]の置換を使用することで、空白を削除することが出来ます。テキストの前後のス...

VLOOKUPが使えない場合の代替方法

VLOOKUPは便利な関数ですが、

  • 検索列が左端にない
  • 列の追加や構成変更が多い
  • 別シート参照でトラブルが頻発する

といったケースでは、別の関数を使った方が安定することも多くあります。
ここでは、VLOOKUPの代替としてよく使われる2つの方法を紹介します。

XLOOKUPを使う方法

XLOOKUP関数はVLOOKUPの後継として登場した新しい関数です。別シート参照との相性がよく、VLOOKUPで起きがちな制限やミスをほぼ解消できます。

主な特徴は以下のとおりです。

  1. 検索列が左端でなくてもOK
  2. 列番号の指定が不要
  3. エラー時の表示を指定できる
  4. 別シート参照が直感的

基本構文は次のとおりです。

=XLOOKUP(検索値, 検索範囲, 返す範囲)

実務では「=XLOOKUP(A2, Sheet2!A:A, Sheet2!B:B)」のような式になります。

VLOOKUPで別シート参照がうまくいかない場合、最も簡単で安全な解決策がXLOOKUPと言えるでしょう。ただし、Excelのバージョンが対応していない場合は使用できない点に注意が必要です。

VLOOKUP関数で左側を参照したい!そんな方はこちらVLOOKUP関数は便利ですが、左側の値を取得することができないですよね。XLOOKUP関数を使えば、その悩みを解決できます!この記事では、XLOOKUP関数の基本構文と使い方について分かりやすく解説します。...

INDEX+MATCHで対応する方法

INDEX+MATCHは、古くから使われている組み合わせですが、柔軟性が高く様々なレイアウトにも対応できるのが強みです。

基本構文は以下のようになります。

=INDEX(返す範囲, MATCH(検索値, 検索範囲, 0))

この方法のメリットは、

  1. 検索列の位置に制限がない
  2. 列構成が変わっても壊れにくい
  3. 別シート参照でも安定して動作する

などがありますが、数式がやや分かりにくいというデメリットもあります。

個人的にはINDEX+MATCHは「Excelに慣れてきた人」「複雑な表を扱う人」にはおすすめの方法です。

ExcelのINDEX+MATCH関数の基礎。わかりやすく解説INDEX(インデックス)とMATCH(マッチ)の基本的な使い方から複数条件を指定する方法まで解説!さっそく見ていきましょう!...
XLOOKUP関数とINDEX+MATCH関数の違いを比較!XLOOKUP関数とINDEX+MATCH関数は検索や抽出において便利な関数。今回はXLOOKUP関数、INDEX関数とMATCH関数の違いを比較してみましょう。...

まとめ|VLOOKUPで別シート参照ができない原因と解決ポイント

最後に、VLOOKUPで別シート参照ができないときのポイントを整理します。

別シート参照ができない主な原因

VLOOKUPで別シート参照ができない原因の多くは、次のような基本的なミスです。

  • 検索範囲の指定ミス
  • 列番号の指定間違い
  • 近似一致(TRUE)になっている
  • 絶対参照が設定されていない
  • データ形式の違い(全角・半角、数値・文字列、空白)

Excelの不具合ではなく、設定や書き方の問題であることがほとんどです。

まず確認すべきチェック項目

別シート参照ができない場合は、次の順番で確認しましょう。

  • 第4引数がFALSEになっているか
  • 検索範囲の左端に検索値があるか
  • 検索範囲が絶対参照になっているか
  • シート名の指定方法は正しいか
  • データ形式が統一されているか

このチェックだけで、多くのトラブルは解決します。

どうしても解決しない場合の対処法

すべて確認しても解決しない場合は、無理にVLOOKUPにこだわる必要はありません。

  • XLOOKUPに切り替える
  • INDEX+MATCHを使う
  • データの形式を一度整え直す

といった方法を試すことで、結果的に作業時間を大きく短縮できることもあります。

【VLOOKUP】Excelで「一致したら〇」を返す方法は?IF関数とVLOOKUP関数の組み合わせエクセルのIF関数とVLOOKUP関数を組み合わせて「一致したら〇」「一致したら×」を返す方法をご紹介。ExcelのIF関数とVLOOKUP関数を組み合わせることで、データの一致条件に基づいて特定の値を出力することができます。...
VLOOKUP関数の応用5選!ExcelスキルをUPする時短ワザExcelのVLOOKUP関数の応用を5選ご紹介します。具体的に部分一致検索・複数の値を取得・別シートからデータを参照・複数条件・#N/Aエラーを非表示にする方法を解説していきます。...
【複数条件】IF、VLOOKUP、INDEX+MATCH関数の組み合わせExcelで複数の条件に合うデータを抽出するなら「&」アンドを使いましょう。多くの方に好まれているIF関数・VLOOKUP関数・INDEX関数とMATCH関数を組み合わせて複数の条件に合うデータを抽出する方法を解説します。...
【データ抽出】INDIRECT関数とVLOOKUP関数を組み合わせよう!INDIRECT関数とVLOOKUP関数を組み合わせることで、柔軟かつ効率的にデータ抽出をすることができます。この記事では、INDIRECT関数とVLOOKUP関数の組み合わせて使う方法をわかりやすく解説します。ではさっそく学んでいきましょう!...
IFERROR関数とVLOOKUP関数を組み合わせてエラーを回避!この記事では、IFERROR関数とVLOOKUP関数を組み合わせてエラーを回避する方法を詳しく図を使って解説します。それでは、さっそく学んでいきましょう!...
効率的にデータ抽出するなら?VLOOKUP関数とMATCH関数を組み合わせVLOOKUP関数とMATCH関数を組み合わせて使うことで柔軟にデータ抽出することができます。VLOOKUP関数とMATCH関数の組み合わせをマスターし、効率的なデータ処理を確立できるようにしましょう。...