VLOOKUPのエラーをIFERROR関数で非表示に

解説記事内の画像はExcel 2019のものですが、操作方法は下記のバージョンで同じです。
  • Excel 2019, 2016, 2013, 2010
  • Microsoft 365
Microsoft 365は、バージョン2002と、バージョン2010で動作確認しています。

スポンサーリンク

VLOOKUP関数が正しく設定されている 上の図では、B2番地にVLOOKUP関数が設定されています。
VLOOKUP関数はとても便利な関数ですが、正しく設定していても、

VLOOKUP関数で探し出してほしいものが、探し出しに使う表の中に存在しない 探し出してほしいものが、探し出しに使う表の中に存在しないと、「お探しのものが見つかりません」という合図で、#N/Aエラーを表示します。

VLOOKUP関数で探し出したいものが入力されていない また、探し出したいものが入力されていないときにも、#N/Aエラーを表示します。
(このケースは、厳密に言うと、先ほどの「お探しのものが見つかりません」なんですが、これを解説していると長時間語れちゃうので、初心者の方は「探し出したいものが入力されていない」という風に考えていてOKです。)

VLOOKUP関数で探し出したいものをちゃんと入力すれば、#N/Aエラーは表示されなくなる VLOOKUP関数の数式自体は正しいので、探し出してほしいものを、ちゃんと入力すれば、このエラーは表示されなくなるので、放っておけばいいのですが、エラーが出ていると何となくイヤという方も多いはず。

そこで今回は、指定した数式の結果がエラーになる場合の表示を、好みのものにできるIFERROR関数を使って、

  • VLOOKUP関数の答がエラーになる場合には、空欄や好みの文字を表示する
  • エラーにならない場合には、VLOOKUP関数の答が表示される

ようにしていきます!

IFERROR関数の中にVLOOKUP関数を入れることで、VLOOKUP関数のエラーを非表示にする この処理は、このようにIFERROR関数の中にVLOOKUP関数を入れることで実現できますが、IFERROR関数も、VLOOKUP関数も初めてなんだけど・・・という方は、このページの内容をいきなりやるのは苦行でしかないので、まずは焦らず、下記のページで、それぞれの関数単体の使い方をご覧ください。

スポンサーリンク

IFERROR関数の中にVLOOKUP関数を入れる設定

シート見出し 練習用データを操作しながらご覧いただいている方は、画面左下のシート見出しで、「IFERRORとVLOOKUPのネスト」に切り替えます。

B2番地 今回は、B2番地のセルにVLOOKUP関数を設定して、

B1番地に入力されている会員コードを、表から探し出し、その会員コードに対応した氏名を表示する B1番地に入力されている会員コードを、表から探し出し、その会員コードに対応した氏名を表示する設定をします!
但し、エラーになる場合には空欄が表示されるように設定して、エラーメッセージが表示されないようにしていきます!

  • VLOOKUP関数の答がエラーになる場合は、空欄を表示する
  • エラーにならない場合には、VLOOKUP関数の答が表示される

[関数の挿入]ボタン それでは早速、数式を設定していきましょう!
答を表示させたいB2番地を選択し、[関数の挿入]ボタンをクリックします。

[関数の挿入]ダイアログボックスで「IFERROR」を選択 関数を指定するためのダイアログボックスが表示されます。
[関数の分類]で「すべて表示」を選択すると、すべての関数が[関数名]欄にABC順で表示されます。
今回はIFERROR関数を使いたいので、一覧から「IFERROR」をクリックで選択し、[OK]ボタンをクリックします。
この時、「IFERROR」と「VLOOKUP」のどちらを選ぶのか迷った方は「関数の中に関数!関数の入れ子」の考え方を是非。
今回、答として表示させたいのは、VLOOKUP関数の結果か、エラーの代わりの空欄なので、エラーになるかどうかで答が変わるわけです。
関数の中に関数を入れる場合、答として表示されるものを先に選ぶのが鉄則。
今回はエラーかどうかで答が変わるわけですから、エラーかどうかで答を変えてくれるIFERROR関数を先に選ぶというわけです。

IFERROR関数の[関数の挿入]ダイアログボックス IFERROR関数の設定をするダイアログボックスが表示されます。
ちなみに、ダイアログボックスが表示されたけど、この図と自分の画面とが違うという方は、選ぶ関数を間違っています。
Excelには「IFERROR」と「ISERROR」という2つの関数があり、一見同じ名前に見えますが、先頭が「IF」なのか「IS」なのかで見分けます。
今回は先頭が「IF」のIFERROR関数を使うので、違う関数を選んでしまっている方は、[キャンセル]ボタンをクリックして、[関数の挿入]ボタンをクリックするところから始めます。

IFERROR関数の[値]欄に関数を入れ込む それでは、IFERROR関数の設定、まずは[値]欄から。
[値]欄には、エラーになるかどうかを判定する数式やセルを指定します。
今回、エラーになるかどうかを判定したいのは、「B1番地に入力されている会員コードを、表から探し出し、その会員コードに対応した氏名を表示する」という内容のVLOOKUP関数ですから、この[値]欄に、VLOOKUP関数を入れ込んでいきます
[値]欄に文字カーソルがあることを確認し、数式バーの左端にある[▼]をクリックすると、

IFERROR関数の[値]欄に関数を入れ込む 最近使った関数が一覧表示されます。
この一覧の中に「VLOOKUP」があれば、クリックで選択します。
(この一覧の中に「VLOOKUP」があった方もこのまま読み進めてください。)
もし、一覧の中に「VLOOKUP」がない場合には、単純に最近使っていないというだけなので、一覧の一番下にある「その他の関数」をクリックで選択すると、

[関数の挿入]ダイアログボックスで「VLOOKUP」を選択 関数を選択するダイアログボックスが表示されるので、この一覧から「VLOOKUP」を選択し、[OK]ボタンをクリックします。

IFERROR関数の中にVLOOKUP関数が入った 関数を設定するダイアログボックスが、IFERROR関数のものから、VLOOKUP関数のものに変わりました!
数式バーに表示されている数式も、IFERROR関数の中にVLOOKUP関数が入っていることが分かります。
この時、図のように、ダイアログボックス内の文字が、他の文字と重なって何が何だか分からん!という表示になる場合があります。
これは仕方が無く、未来にこういうことが無くなればいいなぁという部類のことなので、操作しづらいですが我慢します。
引数の名前がちゃんと見えないと操作できない!という方は、「VLOOKUPの使い方[初心者さんのためのExcel関数解説]」を参考にしつつ進めてください。

VLOOKUP関数の引数の設定 VLOOKUP関数の各引数欄に、「B1番地に入力されている会員コードを、「テーブル1」という表から探し出し、その会員コードに対応した氏名を表示する」内容の設定をします。
この設定の意味が分からん!という方は、「VLOOKUPの使い方[初心者さんのためのExcel関数解説]」でめちゃくちゃ丁寧に解説していますので、是非ご覧ください。

VLOOKUP関数の引数の設定が終わっても[OK]ボタンは押さない VLOOKUP関数の設定が終わったら安心して[OK]ボタンをクリックしてしまいがちですが、まだ[OK]ボタンを押してはなりませぬ!
なぜなら、このVLOOKUP関数の引数は、すべて設定が終わったけれど、最初のIFERROR関数の引数は、まだ全て設定が終わっていないからです。

引数の設定が未完結のエラーメッセージ もし、勢いで[OK]ボタンを押してしまって、このようなエラーメッセージが出てしまった方は、対処法は「関数の中に関数!関数の入れ子」ページの、「途中で[OK]ボタンを押しちゃったら」の章からご覧ください。

さて、話を元に戻します。
この時点で、VLOOKUP関数の設定はすべて終わっているけれど、IFERROR関数の設定はまだ全て終わっていないので、最初のIFERROR関数のダイアログボックスに切り替えます。

ダイアログボックスがVLOOKUP関数のものからIFERROR関数のものに切り替わった 数式バーに表示されている数式で、「IFERROR」の文字の部分をクリックすると、ダイアログボックスがVLOOKUP関数のものからIFERROR関数のものに切り替わりました!

IFERROR関数の引数[値]欄 IFERROR関数の設定の最初で[値]欄にVLOOKUP関数を入れ込んだので、[値]欄にはVLOOKUP関数の数式が設定されています。

IFERROR関数の引数[エラーの場合の値]欄 まだ設定していない[エラーの場合の値]欄でクリックして、文字カーソルを入れます。
この欄には、[値]欄で設定したVLOOKUP関数がエラーだった場合に、何を表示させたいのかを指定します。

[エラーの場合の値]欄に半角ダブルクォーテーション2つを入力 今回は、エラーだった場合は、何も表示されないよう空欄にしたいので、空欄をあらわす半角ダブルクォーテーション2つを入力します。
Excelでは、数式内で使う記号は半角で入力するというお作法があるので、日本語入力OFFの状態でダブルクォーテーションを入力すると、半角で入力できます。

IFERROR関数の引数をすべて設定した これで、VLOOKUP関数の答がエラーになる場合には、空欄を表示するという指定ができました!
IFERROR関数では、エラーにならなかった場合には、[値]欄の結果が表示されるので、今回の指定では、エラーにならなかった場合には、VLOOKUP関数の答が表示されます。
これで、すべての設定が終わったので、ダイアログボックスの[OK]ボタンをクリックすると、

VLOOKUP関数でエラーが発生しないので、VLOOKUP関数の答が表示されている 現在は「B1番地に入力されている会員コードを、表から探し出し、その会員コードに対応した氏名を表示する」というVLOOKUP関数でエラーが発生しないので、VLOOKUP関数の答が表示されています

IFERROR関数のおかげでエラーが表示されない 試しに、B1番地を選択後、キーボードの[Delete]キーを押して、B1番地の会員コードを消してみます!
すると、VLOOKUP関数おなじみの「探すものがありません」という状態になるので、本来なら#N/Aエラーが表示されるわけですが、エラーだった場合には空欄が表示されるようIFERROR関数を設定していますので、答が表示されるセルは空欄、つまり何も表示されていません。

VLOOKUP関数で探し出したいものが入力されていないのでエラーが表示された IFERROR関数を使わず、VLOOKUP関数単体で設定していると、このケースでは#N/Aエラーが表示されます
このエラーを見えなくするために、今回はIFERROR関数の中にVLOOKUP関数を入れ込んだわけですね。

IFERROR関数のおかげでエラーではなく文字が表示されている 今回は、エラーだった場合は空欄になるよう設定しましたが、「会員コードを正しく入力」のような文字を設定してもOK。
図では、この文字を全部表示できるよう、設定後列幅を広げています。

[エラーの場合の値]に文字を設定 その場合は、IFERROR関数の[エラーの場合の値]で、表示させたい文字を設定します。
この時、Excelでは数式内に文字を設定する場合には、その文字の前後を半角ダブルクォーテーションで囲むというお約束がありますので、お忘れなく。

練習問題

シート見出し 練習用データを操作しながらご覧いただいている方は、画面左下のシート見出しで「練習」に切り替えます。

B2番地 今回は、B2番地のセルにVLOOKUP関数を設定して、

B1番地に入力されている獲得ポイントを、表から探し出し、そのポイントに応じた割引額を表示する B1番地に入力されている獲得ポイントを、表から探し出し、そのポイントに応じた割引額を表示する設定してみましょう!
但し、エラーになる場合には空欄が表示されるように設定して、エラーメッセージが表示されないようにします。
これは練習問題なので、自力でレッツ・トライ♪

スポンサーリンク