VLOOKUP関数がエラーでうまく表示されない時の8つの対処法とは?

スポンサーリンク

この記事ではVLOOKUP関数(ブイルックアップ)で起こりがちな、エラー表記が出てしまったり、データがうまく反映されないときの対処法について解説していきたいと思います。
VLOOKUP関数はとても便利な関数ですが、入力項目が多い関数のため初心者にはどこが原因でエラーが出ているか分かりづらいという面もあります。

VLOOKUP関数で一番よく出るエラーは#N/A!(ノー・アサイン)エラーです。
このエラーが出るのは、VLOOKUPの検索値に指定した値が範囲側にない場合に出てしまします。
数値自体の間違いや、文字の全角、半角の違い、スペースなどが入っている場合参照範囲を絶対参照していない場合に良く出てしまうのでまずそこを確認することでエラーを修正することができます。

検索値が間違っていない場合や#N/A!以外のエラーが出てどのように直していいかわからない場合は、この先の記事で詳しく対処法を解説しています。ぜひ参考にして計算式や範囲を修正していただければと思います。

この記事を読むと分かること
  • VLOOKUP関数がうまく表示されない時の対処方法
  • #N/Aや#REFなどエラー表記ごとの対処法
  • エラーを無視して表示を変えてしまう方法

↓VLOOKUP関数の使い方の記事はこちら↓
最強の便利関数?VLOOKUP関数の使い方とは
↓同じ数字なのにエラーが出る場合はこちら↓
【数値と文字列】VLOOKUP関数で同じ数字なのにエラーが出るときの対処法とは?

↓記事のまとめページに戻るにはこちら↓

スポンサーリンク

1.VLOOKUP関数で出てしまうエラーとは?

VLOOKUP関数のエラーでよく出るものは次の4つのパターンです。

  • #N/A!(ノー・アサイン)エラーが出てしまう
  • #REF!(リファレンス)エラーが出てします
  • 予期しない結果が表示されてしまう
  • 計算式がそのまま表示されてしまう

それぞれのエラーごとの対処法を順番に解説していきます。

2.#N/A!エラーが出てしまう場合の対処法

#N/A!エラーは検索値に指定した値が範囲で指定した場所の中(マスタ)にないと表示されてしまうエラーです。
出てしまう原因は主に3つあります。

1.半角や全角、スペースが混ざっている

VLOOKUP関数に指定した検索値や範囲のどちらかの表記が全角や半角が混ざっていたり、スペースなどがある場合です。
この場合、VLOOKUP関数では全角と半角は違うものと認識されてしまうため、検索値が範囲にないと判断され#N/A!エラーが出てしまします。

表1

対処法としては、範囲側の表記に合わせて検索値を入力する方法と、スペースがある場合は置換機能やTRIM関数でスペースを削除し、全角や半角が混ざっている場合はASC関数やJIS関数を使って全角、半角に統一する方法があります。

置換機能でスペースを一括で削除する方法

スペースを一括で削除する方法はスペースを削除したいセルを選択して、Ctrl+Hを押し置換機能を使用することで一度に空白を削除することができます。

replace
置換機能

使い方は、
①検索する文字列に空白を入力する
②置換後の文字列は入力無し
③すべて置換を押す
ことで使うことができます。

ASC関数とJIS関数の使い方

ASC関数とJIS関数はどちらも、
=ASC(変換したいセル)
=JIS(変換したいセル)

を指定するだけで使用することができます。
最後に変換後の結果を「値でのコピペ」で元のセルに貼り付け直しましょう。

↓置換機能についてはこちらの記事をお読みください↓
【時短ワザ】複数のセルの文字を一度に変換!置換機能の便利な使い方
↓ASC関数とJIS関数についてはこちら↓
半角、全角を一括で変換!ASC関数とJIS関数の使い方とは?

2.オートフィルやコピペなどで参照範囲がずれている

VLOOKUP関数を1度作ったら、その表の下までオートフィルを使ったり、別の場所にコピペして使う場合は多いと思います。
そのようなときに、参照する範囲に$(ドル)を付け絶対参照にしていないことで、参照する範囲もずれてしまい結果エラーが出てしまうことがあります。

VLOOKUP関数をコピペしたり、オートフィルをする場合は必ず参照範囲を絶対参照にしましょう。

表2

絶対参照は、範囲を指定しているセルの頭に$(ドル)を付けることで指定することができます。
F4キーを押すことで簡単に絶対参照をすることもできます。
例)A1(通常)→F4キーを押すことで→$A$1(絶対参照)

↓絶対参照について詳しい記事はこちら↓
$(ドルマーク)の意味は?参照する列や行を固定する絶対参照とは?
↓オートフィルについて詳しい解説はこちら↓
繰り返しの入力作業を一括で!オートフィルの使い方とは?

3.セルの表示形式が違う

セルの表示形式の設定で「3」などの数字を打つだけで「3個」や「3枚」などの表示がされるように設定されていることがあります。
その場合、見た目が3個だからと検索値の部分を「3個」に指定してしまうと、実際は「3」という数値しか入力されていないため、検索値が一致しないと判断されてしまい#N/Aエラーが表示されてしまします。

見た目があっているのに、どうしても#N/Aエラーが出てしまう場合は、セルの書式設定を一度標準に設定し直してみましょう。

表3

また、同じ数字に見えてもExcelの内部的に数値と文字列という表示形式の違いでこのエラーが出る場合があります。
数値と文字列を修正するための対処法は下のリンク先のページで詳しく解説していますのでそちらをご覧ください。

↓同じ数字なのにエラーが出る場合はこちら↓
【数値と文字列】VLOOKUP関数で同じ数字なのにエラーが出るときの対処法とは?
↓表示形式についてはこちらの記事をお読みください↓
【小ワザ】とても便利!ユーザー定義の表示形式の使い方

3.#REF!エラーが出てしまう場合の対処法

#REF!エラーは指定した検索範囲が狭すぎたり、マスタを入力したシートを削除してしまうことで出てしまうエラーです。

対処法としては指定した範囲がしっかりとマスタ全体を指定するよう修正することや、マスタが入ったシートや行、列を消してしまっていないか確認することで#REF!エラーの原因を見つけ、エラーを消すことができます。

表4

上の表の場合では、赤枠の検索範囲をA2:B4と2列のマスタ全てを範囲に指定し直すことで#REF!エラーを解消することが出来ます。

万が一マスタを消してしまっていた場合、Ctrl+Zキーで元の状態に戻すか、戻せない場合は以前に保存していたデータからマスタをコピペするなどの対処法が考えられます。

↓別シートからデータを参照するための詳しい解説はこちら↓
VLOOKUP関数で別シートからデータを参照する方法とは?
↓別ファイルからデータを参照するための詳しい解説はこちら↓
VLOOKUP関数で別ファイルからデータを参照する方法とは?

4.予期しない結果が表示されてしまう場合の対処法

VLOOKUP関数はとても便利ですが、使い方を間違えると予期しない結果が表示されてしまうことがあります。
予期しない結果が表示されてしまう原因は主に2つあります。

1.検索する範囲(マスタ)に同じ項目がある

指定した範囲(マスタ)の一番左の列に同じコードや数字を割り当てるとVLOOKUPでは入力した計算式の4つ目の引数の指定によって、FALSEを指定すると一番上をTRUEを指定すると一番下の結果を表示してしまいます。
マスタの一番左の列の検索値に使用するコードや数値はなるべく被りが無いものを選びましょう

表5

上の表のようにマスタの検索値にA1(同じ値)が2つ以上ある場合、4つ目の引数がFALSEなら一番上にあるデータが、TRUEなら一番下にあるデータが表示されます。
このように同じ値が2つ以上あることで予期しない結果が表示されてしまうことがあります。
検索する範囲の一番左の列には重複する値を選ばないように注意しましょう。

2.4つ目の引数を指定していない

VLOOKUPは検索値、範囲、列番号、検索方法の4つの引数を指定できますが、4つ目の検索方法のFALSEやTRUEは入力が任意のため省略してエラーが表示されません。
4つ目の引数を省略してしまうことで予期しない結果が表示されることもありますので、無難にFALSEを入力しておきましょう。

5.計算式がそのまま表示されてしまうときの対処法

VLOOKUP関数に限らず、Excelで入力した計算式がそのまま表示されてしまうときは、セルの書式設定が文字列になっていることが原因です。
その場合、セルの表示形式を標準に戻すことで計算式と認識され、正しい表示に戻すことができます。

セルの表示形式はCtrl+1キーで簡単に開くことができます。
↓ショートカットキーの記事はこちら↓
【時短ワザ】便利なExcelのショートカットキー45選

Table_6
表6

リボンメニューのホームタブ→数値にあるウインドウを選択することでも表示形式を変更することができます。

6.エラーを無視して任意の表示に変える

ここまではエラーが出た時の対処法を紹介してきましたが、最後にエラーそのものを無視する方法も解説したいと思います。

その方法とは、IFERROR関数を使うことです。

IFERROR関数は#N/A!などのエラーが出た時に表示させる文字や数値を指定することが出来る関数です。

使い方もとても簡単でVLOOKUP関数をIFERROR関数に組み込むことで、エラーが出た場合に空白にすることや、0などを表示させることができます。
計算式はこのように入力します。

=IFERROR(VLOOKUPの計算式,エラーが出た時に表示したい文字や値)

エラーが出た時に表示したい文字や値の部分に空白や0などを指定することで、エラーが出た時の表示を表示させたいものに指定することができます。

IFERROR関数は簡単にエラーを消すことができ便利ですが、根本的にエラーは解消されませんので使いどころにはご注意ください。

IFERROR関数について詳しくはこちらの記事で解説していますので、ぜひ合わせてお読みください。

↓合わせて読みたい↓
【実践】VLOOKUP関数やIF関数でエラーを表示しないようにする


今回はVLOOKUP関数がうまく表示されない時の対処法を表示されるエラーの種類によってそれぞれ紹介しました。
VLOOKUP関数は便利な反面、指定する項目も4つと多くエラーが出てしまう頻度が高い関数になっています。
エラーの表示を見ながら原因を特定して、対処していただけたらと思います。

↓office365を利用している方はXLOOKUP関数を使うという手もあります↓
VLOOKUP関数の新しい代替関数、XLOOKUP関数とは?

最後までお読みいただきありがとうございました。

↓続きの記事はこちら↓

タイトルとURLをコピーしました