VLOOKUPを使っていると、検索値が見つからないときに#N/Aが出てしまいますよね。仕事中に表がエラーだらけに見えると、かなり気になります。そんなときは、IFERROR関数またはIFNA関数でVLOOKUPを包めば、#N/Aをすぐ消せます。まずは一番早い方法から確認しましょう。

結論:VLOOKUPの#N/AはIFERRORかIFNAで消せます

=IFERROR(VLOOKUP(検索値,範囲,列番号,FALSE),"") または =IFNA(VLOOKUP(検索値,範囲,列番号,FALSE),"")

空白にしたいなら、最後の引数を""にします。たとえば、A2の社員番号をもとに別表から氏名を取り出すなら、次のように入力します。

=IFERROR(VLOOKUP(A2,$H$2:$I$100,2,FALSE),"")

これで、該当データがないときでも#N/Aではなく空白表示になります。見た目を整えたいときに便利ですよ。

まず使いたい方法:IFERRORで#N/Aを非表示にする手順

一番よく使われるのはIFERRORです。#N/Aだけでなく、ほかのエラーもまとめて隠せるので、まずはこの方法を覚えておくと作業が早くなります。

  1. VLOOKUPの結果を表示したいセルをクリックします。
  2. 既存のVLOOKUP式の先頭にIFERROR(を追加します。
  3. VLOOKUP式の最後に,"")を追加します。
  4. Enterキーを押します。
  5. 必要なら、セル右下のフィルハンドルをドラッグして下までコピーします。

たとえば元の式が=VLOOKUP(A2,$H$2:$I$100,2,FALSE)なら、次のように直します。

=IFERROR(VLOOKUP(A2,$H$2:$I$100,2,FALSE),"")

空白ではなく、見つからないときに文字を出したいなら、最後を変更すればOKです。

  • 空白にする:""
  • 「該当なし」と表示する:"該当なし"
  • 「未登録」と表示する:"未登録"

クリック操作で数式を直す流れ

  1. 対象セルをダブルクリックします。
  2. 数式バー、またはセル内の式を編集します。
  3. VLOOKUP全体をIFERRORで囲みます。
  4. 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. 検索値が本当に存在するか確認する

  1. 検索元の値が入っているセルをクリックします。
  2. 検索先の表の左端列に同じ値があるか目視で確認します。
  3. 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は、指定した範囲の左端列で検索します。検索したい値が範囲の左端にないと正しく動きません。

  1. 数式内の範囲を確認します。
  2. 検索値がその範囲の一番左にあるか確認します。
  3. コピーする場合は、範囲を$付きの絶対参照にします。

たとえば$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を消すなら、まずはIFERRORIFNAを使えばOKです。すぐ使うなら=IFERROR(VLOOKUP(検索値,範囲,列番号,FALSE),"")、#N/Aだけ消したいなら=IFNA(VLOOKUP(検索値,範囲,列番号,FALSE),"")を使いましょう。

それでも上手くいかないときは、検索値の有無、FALSE指定、文字列と数値の違い、スペース、範囲指定のズレを確認してみてください。ここを押さえておけば、VLOOKUPの#N/A対応で困る場面はかなり減ります。仕事中に表のエラーで手が止まりやすい方は、まずこの形をテンプレとして保存しておくのがおすすめです。

おすすめの記事