
ExcelのVLOOKUPで#N/Aになる原因と正しく検索する方法について、原因を切り分けながら直す方法を解説します。
画面やメニューの名称は、Windows版のExcel for Microsoft 365・Excel 2024を基準にしています。
最初に確認したい結論
検索値が表の左端列にあるか、完全一致のFALSEを指定しているか、文字列と数値が一致しているかを確認します。
大切なファイルを操作するときは、先にコピーを作成してから対処してください。
主な原因
VLOOKUPは指定範囲の一番左の列から検索するため、検索列が左端にないと目的の値を取得できません。
第4引数を省略またはTRUEにすると近似一致になり、並べ替え状態によって予想外の結果になることがあります。
検索値と表側で数値・文字列の型や前後の空白が違うと#N/Aになります。
対処方法
検索範囲の左端を確認する
- 数式の第2引数で指定した表範囲を確認します。
- 検索したいコードや氏名の列が範囲の一番左にあるよう指定します。
- 返したい列まで含め、列番号が範囲内にあるか確認します。
完全一致を指定する
- 通常のコード検索では、第4引数へFALSEまたは0を入力します。
- 検索値が完全に一致した行だけが返ることを確認します。
- 近似一致を使う料金表などでは、左端列を昇順に並べる必要があります。
値の型と空白をそろえる
- 検索値と表側のセルを選び、数値と文字列の違いを確認します。
- TRIM関数で余分な空白を除きます。
- 先頭の0を含むコードは、両方を同じ桁数の文字列としてそろえます。
作業するときの注意点
VLOOKUPは左方向の値を直接返せないため、列構成によってはXLOOKUPやINDEXとMATCHの組み合わせが適しています。
エラーを非表示にする前に、検索漏れや表記ゆれがないか確認してください。
まとめ
検索値が表の左端列にあるか、完全一致のFALSEを指定しているか、文字列と数値が一致しているかを確認します。
一度に複数の設定を変えず、原因になりそうな項目を一つずつ確認すると元に戻しやすくなります。
