ExcelのVLOOKUP関数を使用してデータを検索する際に、#N/Aエラーが表示されることがあります。このエラーは、指定した検索値が見つからない場合に発生します。しかし、設定やデータに問題がある場合もあるため、正しく原因を把握し適切に対応する必要があります。
この記事では、#N/Aエラーの主な原因とその解決方法についてわかりやすく解説します。
目次
#N/Aエラーが発生する主な原因
- 検索値が見つからない
- VLOOKUP関数が指定された範囲内に検索値を見つけられない場合、#N/Aが返されます。
- データ形式の不一致
- 検索値と範囲内のデータ形式(文字列、数値など)が一致していない場合、エラーが発生します。
- 列番号が範囲外
- VLOOKUP関数で指定した列番号が検索範囲の列数を超えている場合、エラーが返されます。
- 余分なスペースや見えない文字
- 検索値や検索範囲のセルに余分なスペースや不可視文字が含まれている場合、正確な一致が行えずエラーになります。
- 検索方法の設定ミス
- 検索方法として
TRUE
(近似一致)を指定した場合、データが昇順に並んでいないとエラーが発生します。
- 検索方法として
#N/Aエラーの解決方法
【Excel】【トラブル解決】VLOOKUPで該当データがあるのにヒットしない原因と対処法|検索値があるのに#N/Aになるときは?
・データが一致しているか確認する
- 解決方法
検索値と検索範囲内の値が正確に一致しているかを確認します。- セルをダブルクリックして、値の違い(余分なスペース、文字列と数値の違いなど)をチェックします。
- 修正例
- 数値と文字列を一致させる:
または、
- 数値と文字列を一致させる:
・トリム関数を使ってスペースを削除
- 方法
余分なスペースが含まれている場合、TRIM
関数でスペースを削除します。=VLOOKUP(TRIM(A1), 範囲, 列番号, FALSE)
・完全一致(FALSE)を指定する
- 方法
検索方法をFALSE
に設定して、完全一致で検索を行います。 - 注意点
TRUE
(近似一致)を使用する場合、検索範囲のデータが昇順に並んでいる必要があります。
・IFERRORでエラー処理を行う
- 方法
VLOOKUP関数をIFERROR
関数でラップして、エラー時にメッセージやデフォルト値を表示します。 - 効果
エラーが発生しても指定したメッセージ(例: "データが見つかりません")が表示されます。
・列番号を確認する
- 方法
VLOOKUP関数の列番号が検索範囲内の列数を超えていないか確認します。 - 例
範囲A1:B10
を指定している場合、列番号は1
または2
でなければなりません。
・#N/Aエラーを未然に防ぐ方法
データのクリーニング
- 手動で修正
データを見直し、不要なスペースや文字列と数値の不一致を修正します。 - Power Queryを利用
Power Queryを使用してデータを自動的にクリーンアップすることも可能です。
IF関数で条件分岐
- 方法
VLOOKUPの前にIF
関数を使用して、検索値が空白の場合にエラーを回避します。
検索方法に注意
- 完全一致を基本に設定し、必要な場合のみ近似一致(
TRUE
)を使用します。
まとめ
ExcelのVLOOKUPで#N/Aエラーが表示される原因は多岐にわたりますが、データの確認や関数の設定を適切に行うことで簡単に解決できます。また、IFERROR
関数やVBAを活用することで、エラーを効率的に処理できるようになります。