ホーム › 別の表から、値を持ってきたい

Excel

VLOOKUPで#N/Aが出る時の直し方

先に答え

#N/A は「探している値が見つからない」という意味です。まず「空白」「数字と文字の違い」「FALSEの指定」の3つを確認すれば、たいてい直ります。

確認した環境
【要記入:例 Excel 2019】
確認日
【要記入】
出典
Microsoftサポート「VLOOKUP関数」(公開前にURLを記入)

まず、症状から原因を探す

こうなっているたぶんこれ直す方法
見た目は同じなのに見つからない空白や全角・半角の違い原因2へ
数字なのに見つからない数字と文字の違い原因3へ
コピーした下の行だけエラー範囲がずれた原因5へ
探す列が表の左にないVLOOKUPの決まり原因1へ
変な値が返ってくる、時々エラーFALSEを書いていない原因4へ

原因1:探す列が、表の一番左にない

VLOOKUPは、選んだ範囲の一番左の列だけを探します。

たとえば商品コードがB列にあるのに、範囲を A:C にすると、A列を探してしまい見つかりません。

直し方:範囲の左端を、探したい列に変えます(B:C など)。列の順番を変えられない時は、INDEXとMATCHを使います。

原因2:見えない空白や、全角・半角の違い

「A001」と「A001␣」(後ろに空白)は、別の文字として扱われます。見た目では分かりません。

直し方:探す値を TRIM で整えます。TRIMは、前後の余計な空白を消す関数です。

=VLOOKUP(TRIM(E2), $A$2:$C$100, 3, FALSE)

全角と半角が混ざる時は、ASC(E2) で半角にそろえます。

原因3:数字と文字の違い

片方が「数字の1」、もう片方が「文字の1」だと、一致しません。セルの左上に緑の三角が出ていたら、疑ってください。

直し方:探す値を、探される側の形にそろえます。

原因4:最後に FALSE を書いていない

4つ目の引数を省略すると、「だいたい一致」で探します。この方法は、表が小さい順に並んでいる前提です。並んでいない表では、間違った値が返ったり、#N/A になったりします。

直し方:ぴったり一致で探したい時は、必ず最後に FALSE を書きます。

原因5:範囲がずれている

式を下にコピーすると、範囲も一緒に下へずれます。途中から、表の外を探してしまいます。

直し方:範囲を選んで F4 キーを押します。$A$2:$C$100 のように「$」が付けば、ずれなくなります。くわしくは、$の意味と付け方をどうぞ。

エラーの表示だけ消したい時

見つからないことが普通の表なら、エラーの代わりに別の言葉を出せます。

=IFERROR(VLOOKUP(E2, $A$2:$C$100, 3, FALSE), "該当なし")

IFERRORはExcel 2007以降で使えます。ただし、原因を調べる前に使うと、他の間違いも隠れてしまいます。直してから使いましょう。

迷ったら、これだけ!

次の順番で、上から確認してください。

  • 最後に FALSE を書いたか(原因4)
  • 探す列が、範囲の一番左か(原因1)
  • TRIM で空白を消すと直るか(原因2)
  • 数字と文字がそろっているか(原因3)
  • 範囲に $ を付けたか(原因5)

それでも直らない時は、探す値と探される側のセルを、1つずつ見比べてください。

VLOOKUPの基本から知りたい方は、VLOOKUPの使い方をどうぞ。

広告