Excel一覧 Excel操作 検索・参照関数(VLOOKUP) 検索・抽出

【Excel】VLOOKUPで#N/Aエラーが表示される原因と解決方法|実務で役立つポイント解説

Excelを使う多くの人が、必ず一度は悩まされるのが VLOOKUP関数の「#N/A」エラー です。

・「正しいはずの値なのに#N/Aになる」
・「データがあるのに引っ張れない」
・「一部の行だけエラーになる理由がわからない」

こうした悩みは、VLOOKUPの仕組みと“ズレが発生するポイント”を理解していないことが原因です。

実務では、マスタ参照・請求データ照合・商品名検索・社員情報の紐づけなど、VLOOKUPを使う場面が非常に多く、#N/Aエラーを正しく直せるかどうかで作業スピードが大きく変わります。

この記事では、

・VLOOKUPで#N/Aが表示される原因
・すぐに直せる解決策
・実務で役立つチェックポイント
・エラーを防ぐための設計方法
・RPA(UiPath)との連携にも役立つ注意点

まで幅広く解説します。

Excel標準機能のみを使い、初心者でも理解できるよう丁寧に構成していますので、本記事を読めばVLOOKUPのエラー修正で悩むことはなくなります。

目次

✅ VLOOKUPで#N/Aエラーが表示される主な原因とは?

VLOOKUPは非常に便利な関数ですが、#N/Aエラーが最も多い関数としても知られています。

主な原因は次の通りです。

・ 検索値が見つからない
・ 参照範囲の左端列が違う
・ 半角・全角が混ざっている
・ 余計なスペースが含まれている
・ データ形式が違う(文字列/数値)
・ 完全一致ではなく近似値モードになっている
・ 検索値の並び順がバラバラ
・ 範囲外を参照している

VLOOKUPは「検索値に完全に一致するデータが左端列にある」ことが前提の関数です。
この前提条件が1つでも崩れると、#N/Aエラーが発生します。

ここからは、原因別に詳しく解説していきます。


✅ 原因①:検索値が“左端列”にないケース(最も多い原因)

VLOOKUPは範囲の左端列からしか検索できません


・原因の具体例

データ範囲を B2:E10 にしているのに、検索したい値が A列にある場合:

=VLOOKUP(F2, B2:E10, 2, FALSE)

この場合、検索値は A列にあるため一致しません → #N/A。


・解決方法

  1. 範囲の左端列を検索列にする
  2. 参照範囲を A2:E10 に広げる
  3. 別の関数(INDEX+MATCH)を使う

VLOOKUPの仕様を理解することで解決できます。


✓ 原因②:検索値が存在しない(単純な未登録)

もっとも基本的な理由ですが、データがそもそも存在しない場合も#N/Aになります。


・チェック方法

・検索値をフィルターで検索
・Ctrl + Fで検索
・マスタのデータ抜けを確認


・解決方法

・マスタ側にデータを追加
・入力ミスを修正
・複数の表を統合する

実務では「マスタが更新されていない」ことが多いため要注意です。


✓ 原因③:半角と全角の違い(見た目では気づきにくい)

Excelは 「A」と「A」 を完全に別物と扱います。


・よくある例

・社員番号:00123(全角)
・検索値:00123(半角)

見た目は同じでも一致しません。


・解決方法

・半角/全角を「統一」する
・関数で自動変換する

例:

=ASC(A2)   (全角 → 半角)
=JIS(A2)   (半角 → 全角)

実務では「半角統一」が一般的です。


✓ 原因④:余計なスペース(前後スペース)がある

最も気づきにくく、実務で頻繁に発生する原因です。

例:

「abc」
「 abc」
「abc 」

スペースがあると完全一致になりません。


・チェック方法

=LEN(A2)

文字数が想定より長ければスペースが原因です。


・解決方法

前後スペースを除去する:

=TRIM(A2)

大量データの場合は置換(Ctrl + H)を使用:

・検索 → スペース
・置換 → 空欄
参考:【Excel】XLOOKUPで完全一致モードでも一致してしまう理由とは?全角・半角やスペースに潜む落とし穴を徹底解説




✓ 原因⑤:数値と文字列の違い(Excelでは別物)

例:

・検索値が「123」(数値)
・参照側が「123」(文字列)

数値と文字列は一致しません。


・解決方法

数値化:

=A2*1

文字列化:

=TEXT(A2,"0")

または、セルに「文字列→数値」の警告が出ていれば、変換を実行します。


✓ 原因⑥:VLOOKUPの第4引数がTRUE(近似値)になっている

VLOOKUPの第4引数は

TRUE → 近似値  
FALSE → 完全一致(推奨)

TRUE(省略時)だと、データが昇順で並んでいないと#N/Aになります。


・解決方法

必ず完全一致モードを使う:

=VLOOKUP(A2, 範囲, 列番号, FALSE)

✓ 原因⑦:参照範囲がずれている・列番号が間違っている

よくあるミスが「列番号エラー」です。


・例:参照範囲 A2:C10

列番号:

A列 → 1
B列 → 2
C列 → 3


・エラー例

列番号に4を指定:

=VLOOKUP(A2, A2:C10, 4, FALSE)

→ C列までしかないため#N/A。


・解決方法

・列番号を正しく設定
・参照範囲を正しく広げる

参考:【Excel】範囲指定を“変数化”する方法|柔軟な関数活用のコツを解説


✓ 原因⑧:検索値の“型”がそもそも違う(日付/時刻)

日付や時刻は内部的に数値で扱われます。

例:

・日付に見えるが実は文字列
・フォーマットが違う
・コピー元が別システムの文字列日付


・解決方法

日付として統一する:

=DATEVALUE(A2)

時刻なら:

=TIMEVALUE(A2)

✓ 原因⑨:参照範囲の絶対参照が崩れている($ がない)

コピーした際に範囲がズレるケースです。


・正しい例

=VLOOKUP(A2, $F$2:$H$100, 2, FALSE)

・間違い例

=VLOOKUP(A3, F3:H101, 2, FALSE)

行がズレて参照できません。


・解決方法

常に絶対参照($)を使う。


✓ 原因⑩:「重複」が原因で正しい値が取得できない

VLOOKUPは最初に一致した値を返します。

重複値があると、意図しない行が返ってくることがあり、
その結果#N/Aになるケースもあります。


・解決方法

・重複を削除
・INDEX+MATCHなどを使う
・キーを複数項目で作る(おすすめ)


✓ 原因⑪:テーブル化していて列名が変わった

Excelのテーブル機能を使うと、列名が変更される場合があります。


・チェック方法

数式バーに構造化参照が出ているか確認:

=VLOOKUP([@ID], Table1, 2, FALSE)

・解決方法

・列名を正しく変更
・範囲指定に戻す


✓ 原因⑫:シートを跨ぐ参照が切れている

他ファイルを参照している場合、リンク切れで#N/Aになることがあります。


・解決方法

・ファイルを同じフォルダに置く
・パスを修正する
・外部参照を削除する


✓ 原因⑬:データがフィルターで隠れている(見落とし)

フィルターの絞り込みで検索値が隠れていると、
データが存在しないように見えることがあります。


✓ 原因⑭:検索範囲に空白行が混ざっている

途中の空白行があるとVLOOKUPが誤動作するケースがあります。


✓ 原因⑮:シート保護で変更できない

入力規則などが編集できず、誤判定で#N/Aになるケース。


✓ 原因⑯:検索対象が非常に多い(データ容量)

大量データ(数万行以上)では、Excelの処理性能の問題で
結果が正しく返らないケースもあります。


✓ 原因⑰:RPA(UiPathなど)で読み込む順番が異なりエラーになる

VLOOKUPの設定次第で、RPAのデータ読み取りに影響することがあります。


✓ 解決策まとめ:VLOOKUPの#N/Aエラーは“原因の切り分け”が最重要

VLOOKUPの#N/Aは、一つひとつ原因を切り分ければ必ず修正できます。


⭐ 実務で使える「#N/Aエラーの診断手順」テンプレート

・手順①:検索値は正しい?

・手順②:参照範囲の左端列に検索値がある?

・手順③:全角/半角は一致している?

・手順④:スペースは含まれていない?

・手順⑤:文字列/数値の型は一致している?

・手順⑥:完全一致(FALSE)になっている?

・手順⑦:列番号は正しい?

・手順⑧:絶対参照($)はついている?

ここまで確認すれば、ほとんどの#N/Aは消えます。


✓ IFERRORでエラーを“隠す”のは最後の手段

=IFERROR(VLOOKUP(A2,範囲,2,FALSE),"")

とすることでエラーを非表示にできますが、
根本原因の修正が先です。


✓ RPA(UiPath)利用時の注意点

RPAは#N/Aを読み取れません。
Excel側で安定したデータにしておく必要があります。

・IFERRORで空欄にする
・データの整形を事前に行う
・マスタ表を正しく管理する


✅ まとめ:VLOOKUPの#N/Aは仕組みを理解すれば必ず解決できる

・ #N/Aは「値が見つからない」が原因
・ 左端列に検索値がないとVLOOKUPは動かない
・ 半角/全角、スペース、データ型の違いは非常に多い原因
・ 列番号、絶対参照、完全一致設定も重要
・ TRIM、ASC、VALUEなどでデータを整える
・ IFERRORは最終手段
・ RPA化する場合はデータ品質が特に重要

VLOOKUPのエラー原因を理解すると、
Excel業務の安定性とスピードが一気に改善します。

ぜひ本記事を実務に活かし、VLOOKUPで困らない環境を作ってください。

    -Excel一覧, Excel操作, 検索・参照関数(VLOOKUP), 検索・抽出