VLOOKUPを使っていると、検索値が見つからないときに#N/Aが出てしまいますよね。仕事中に表がエラーだらけに見えると、かなり気になります。そんなときは、IFERROR関数またはIFNA関数でVLOOKUPを包めば、#N/Aをすぐ消せます。まずは一番早い方法から確認しましょう。
結論:VLOOKUPの#N/AはIFERRORかIFNAで消せます
空白にしたいなら、最後の引数を""にします。たとえば、A2の社員番号をもとに別表から氏名を取り出すなら、次のように入力します。
=IFERROR(VLOOKUP(A2,$H$2:$I$100,2,FALSE),"")
これで、該当データがないときでも#N/Aではなく空白表示になります。見た目を整えたいときに便利ですよ。
まず使いたい方法:IFERRORで#N/Aを非表示にする手順
一番よく使われるのはIFERRORです。#N/Aだけでなく、ほかのエラーもまとめて隠せるので、まずはこの方法を覚えておくと作業が早くなります。
- VLOOKUPの結果を表示したいセルをクリックします。
- 既存のVLOOKUP式の先頭にIFERROR(を追加します。
- VLOOKUP式の最後に,"")を追加します。
- Enterキーを押します。
- 必要なら、セル右下のフィルハンドルをドラッグして下までコピーします。
たとえば元の式が=VLOOKUP(A2,$H$2:$I$100,2,FALSE)なら、次のように直します。
=IFERROR(VLOOKUP(A2,$H$2:$I$100,2,FALSE),"")
空白ではなく、見つからないときに文字を出したいなら、最後を変更すればOKです。
- 空白にする:""
- 「該当なし」と表示する:"該当なし"
- 「未登録」と表示する:"未登録"
クリック操作で数式を直す流れ
- 対象セルをダブルクリックします。
- 数式バー、またはセル内の式を編集します。
- VLOOKUP全体をIFERRORで囲みます。
- Enterキーで確定します。
この方法なら、表の見た目がスッキリして報告資料にも使いやすくなります。
#N/Aだけを消したいならIFNAが便利です
IFERRORは便利ですが、すべてのエラーをまとめて隠します。そのため、別のミスまで見えなくなることがあります。もし#N/Aだけを消したいなら、IFNAを使うのがおすすめです。
=IFNA(VLOOKUP(A2,$H$2:$I$100,2,FALSE),"")
IFNAは、検索値が見つからないときの#N/Aだけを対象にします。数式ミスなど別のエラーはそのまま表示されるので、原因調査もしやすいですよ。
IFERRORとIFNAの使い分け
- 見た目を手早く整えたい:IFERROR
- #N/Aだけ隠して、ほかのエラーは残したい:IFNA
普段の業務では、まずIFERROR、チェック重視ならIFNAという使い分けで十分です。
空白ではなく「該当なし」と表示する方法
空白にすると、データが抜けているのか、未入力なのか分かりにくいことがあります。そんなときは、メッセージ表示にしておくと確認しやすいです。
例として、検索結果がなかった場合に「該当なし」と表示する式はこちらです。
=IFERROR(VLOOKUP(A2,$H$2:$I$100,2,FALSE),"該当なし")
チームで共有する表では、空白よりも文字で出したほうが親切なことも多いです。用途に合わせて選びましょう。
そもそも#N/Aが出る原因
#N/Aは、VLOOKUPが「探したけれど見つからなかった」ときに出るエラーです。つまり、単純に消すだけでなく、原因も知っておくと再発防止につながります。
- 検索値が検索範囲に存在しない
- 全角と半角が混ざっている
- 数字と文字列が混ざっている
- 前後に余分なスペースが入っている
- 検索範囲の左端列に検索値が入っていない
- FALSEではなくTRUEになっていて完全一致になっていない
特に多いのは、見た目は同じでもデータ形式が違うケースです。たとえば「1001」が数値だったり文字列だったりすると一致しません。
上手くいかない場合のチェックポイント
IFERRORやIFNAで#N/Aを隠しても、思ったように値が出ないことがあります。そんなときは次のポイントを順番に確認しましょう。
1. 検索値が本当に存在するか確認する
- 検索元の値が入っているセルをクリックします。
- 検索先の表の左端列に同じ値があるか目視で確認します。
- Excelの検索機能を使うならCtrl + Fを押して値を探します。
存在しないなら#N/Aは正常な結果です。その場合は、空白表示や「該当なし」表示で対応しましょう。
2. FALSEになっているか確認する
VLOOKUPの最後の引数は、通常FALSEにします。ここがTRUE、または省略されていると近い値で検索されてしまい、思わぬ結果になることがあります。
=VLOOKUP(A2,$H$2:$I$100,2,FALSE)
完全一致で探したいなら、必ずFALSEを入れておくのが安心です。
3. 数字と文字列のズレを確認する
見た目が同じ「1001」でも、片方が数値、片方が文字列だと一致しません。次のようなケースに注意してください。
- CSVから取り込んだコードが文字列になっている
- 手入力した値が数値になっている
- 先頭の0を含む社員番号や郵便番号を扱っている
先頭0が必要なデータは、文字列としてそろえるのが基本です。
4. 余分なスペースを取り除く
前後にスペースがあると一致しないことがあります。特に外部データを貼り付けたときに起きやすいです。
スペース対策としては、TRIM関数を使う方法があります。
=IFERROR(VLOOKUP(TRIM(A2),$H$2:$I$100,2,FALSE),"")
データ側にもスペースがある場合は、元データのクリーニングも必要です。
5. 範囲指定がズレていないか確認する
VLOOKUPは、指定した範囲の左端列で検索します。検索したい値が範囲の左端にないと正しく動きません。
- 数式内の範囲を確認します。
- 検索値がその範囲の一番左にあるか確認します。
- コピーする場合は、範囲を$付きの絶対参照にします。
たとえば$H$2:$I$100のようにしておくと、下にコピーしても範囲がズレません。
#N/Aを消すだけでなく、見やすい表にするコツ
エラーを非表示にしたあと、さらに表を見やすくすると業務がスムーズになります。
- 未登録データは「該当なし」と表示して確認漏れを防ぐ
- 絶対参照を使って数式コピーのミスを減らす
- 列見出しを分かりやすくして、何を検索しているか明確にする
- 元データの形式を統一して再発を防ぐ
単にエラーを隠すだけでなく、次に見る人が迷わない形にしておくのが時短のコツです。
最後に覚えておくと便利な時短ワザ
VLOOKUP作業では、次の操作もよく使います。合わせて覚えておくと作業がかなり速くなります。
- Ctrl + C:コピー
- Ctrl + V:貼り付け
- Ctrl + F:検索
- F4:参照を絶対参照に切り替え
- Ctrl + Enter:複数選択セルに同じ式を一括入力
特にF4は便利です。数式の範囲を選択した状態で押すと、A1 → $A$1 → A$1 → $A1のように切り替えられます。VLOOKUPの範囲固定で毎回活躍しますよ。
まとめ
ExcelでVLOOKUPの#N/Aを消すなら、まずはIFERRORかIFNAを使えばOKです。すぐ使うなら=IFERROR(VLOOKUP(検索値,範囲,列番号,FALSE),"")、#N/Aだけ消したいなら=IFNA(VLOOKUP(検索値,範囲,列番号,FALSE),"")を使いましょう。
それでも上手くいかないときは、検索値の有無、FALSE指定、文字列と数値の違い、スペース、範囲指定のズレを確認してみてください。ここを押さえておけば、VLOOKUPの#N/A対応で困る場面はかなり減ります。仕事中に表のエラーで手が止まりやすい方は、まずこの形をテンプレとして保存しておくのがおすすめです。
