Excel一覧 Excel操作・関数 Vlookup データ操作

【Excel】VLOOKUPで#N/Aエラーが表示される原因と解決方法

ExcelのVLOOKUP関数を使用してデータを検索する際に、#N/Aエラーが表示されることがあります。このエラーは、指定した検索値が見つからない場合に発生します。しかし、設定やデータに問題がある場合もあるため、正しく原因を把握し適切に対応する必要があります。

この記事では、#N/Aエラーの主な原因とその解決方法についてわかりやすく解説します。

#N/Aエラーが発生する主な原因

  1. 検索値が見つからない
    • VLOOKUP関数が指定された範囲内に検索値を見つけられない場合、#N/Aが返されます。
  2. データ形式の不一致
    • 検索値と範囲内のデータ形式(文字列、数値など)が一致していない場合、エラーが発生します。
  3. 列番号が範囲外
    • VLOOKUP関数で指定した列番号が検索範囲の列数を超えている場合、エラーが返されます。
  4. 余分なスペースや見えない文字
    • 検索値や検索範囲のセルに余分なスペースや不可視文字が含まれている場合、正確な一致が行えずエラーになります。
  5. 検索方法の設定ミス
    • 検索方法としてTRUE(近似一致)を指定した場合、データが昇順に並んでいないとエラーが発生します。

#N/Aエラーの解決方法

【Excel】【トラブル解決】VLOOKUPで該当データがあるのにヒットしない原因と対処法|検索値があるのに#N/Aになるときは?

・データが一致しているか確認する

  • 解決方法
    検索値と検索範囲内の値が正確に一致しているかを確認します。

    • セルをダブルクリックして、値の違い(余分なスペース、文字列と数値の違いなど)をチェックします。
  • 修正例
    • 数値と文字列を一致させる:
      =TEXT(A1, "0")

      または、

      =VALUE(A1)

・トリム関数を使ってスペースを削除

  • 方法
    余分なスペースが含まれている場合、TRIM関数でスペースを削除します。
    =VLOOKUP(TRIM(A1), 範囲, 列番号, FALSE)

・完全一致(FALSE)を指定する

  • 方法
    検索方法をFALSEに設定して、完全一致で検索を行います。

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

  • 注意点
    TRUE(近似一致)を使用する場合、検索範囲のデータが昇順に並んでいる必要があります。

・IFERRORでエラー処理を行う

  • 方法
    VLOOKUP関数をIFERROR関数でラップして、エラー時にメッセージやデフォルト値を表示します。

    =IFERROR(VLOOKUP(A1, 範囲, 列番号, FALSE), "データが見つかりません")

  • 効果
    エラーが発生しても指定したメッセージ(例: "データが見つかりません")が表示されます。

・列番号を確認する

  • 方法
    VLOOKUP関数の列番号が検索範囲内の列数を超えていないか確認します。

  • 範囲A1:B10を指定している場合、列番号は1または2でなければなりません。

・#N/Aエラーを未然に防ぐ方法

データのクリーニング
  • 手動で修正
    データを見直し、不要なスペースや文字列と数値の不一致を修正します。
  • Power Queryを利用
    Power Queryを使用してデータを自動的にクリーンアップすることも可能です。
IF関数で条件分岐
  • 方法
    VLOOKUPの前にIF関数を使用して、検索値が空白の場合にエラーを回避します。

    =IF(A1="", "", VLOOKUP(A1, 範囲, 列番号, FALSE))

検索方法に注意
  • 完全一致を基本に設定し、必要な場合のみ近似一致(TRUE)を使用します。

まとめ

ExcelのVLOOKUPで#N/Aエラーが表示される原因は多岐にわたりますが、データの確認や関数の設定を適切に行うことで簡単に解決できます。また、IFERROR関数やVBAを活用することで、エラーを効率的に処理できるようになります。

【Excel】【初心者向け】VLOOKUP関数を別シートで使う方法とは?|構文・設定手順・実務活用を徹底解説!

-Excel一覧, Excel操作・関数, Vlookup, データ操作