IFERROR関数でVLOOKUP関数の#N/Aエラーを回避

IFERROR関数でVLOOKUP関数の#N/Aエラーを回避の操作画像1 本家Be Cool UsersのVLOOKUP関数【キッカリ検索編】では、左のようなB2番地に

IFERROR関数でVLOOKUP関数の#N/Aエラーを回避の操作画像2

という数式を入力することで、B1番地に入力された[顧客コード]に該当する顧客名を一覧表から探し出し、表示させる方法をご紹介しています。

IFERROR関数でVLOOKUP関数の#N/Aエラーを回避の操作画像3 [検索値]となるB1番地に顧客コードが入力されていれば、ちゃんとそれに対応する顧客名が表示されるわけですが、

IFERROR関数でVLOOKUP関数の#N/Aエラーを回避の操作画像4 [検索値]となるB1番地に何も入力されていなかったり、

IFERROR関数でVLOOKUP関数の#N/Aエラーを回避の操作画像5 入力ミスなどで[検索値]となるB1番地に入力した「顧客コード」が、[範囲]に指定した一覧表で見つからない場合には、#N/Aエラーが表示されてしまいます。

VLOOKUP関数では

●[検索値]となるセルに何も入力されていない
●[検索値]となるセルに入力したものが、[範囲]に指定した一覧表にない

という2つの要因で#N/Aエラーが出てしまいます。
Excelくんからすれば、「探したいものは一体何よ?」とか、「探したいものはわかったけど、そんなもんは探してほしい場所にはありません」というわけです。

こういった場合に出てしまう#N/Aエラーを表示しないようにしたい場合、以前のバージョンのExcelでは、IF関数とISERROR関数を組み合わせて
IFERROR関数でVLOOKUP関数の#N/Aエラーを回避の操作画像6

と、表現することで対応できました。
これは恐ろしく長い数式でウンザリでした。

Excel2007では、新関数のIFERROR関数を使うことで、もっとスッキリと対応することができます。

IFERROR関数とVLOOKUP関数のネスト

IFERROR関数でVLOOKUP関数の#N/Aエラーを回避の操作画像7 早速数式を設定してみます。

数式を設定したいセルを選択し、IFERROR関数を選択します。

IFERROR関数を「セリフ」で表すと、

もし1がエラーだった場合には、2を表示してね。
※そうじゃない場合(エラーじゃない場合)は、1が表示されます。

です。
これを今回やりたいことに照らし合わせると、

もしVLOOKUPの数式がエラーだった場合には、空欄にしてね。
※そうじゃない場合(エラーじゃない場合)は、VLOOKUPの計算結果が表示されます。

ということになります。

というわけで、1 の引数[値]にはVLOOKUP関数を入れます。
IFERROR関数でVLOOKUP関数の#N/Aエラーを回避の操作画像8

IFERROR関数でVLOOKUP関数の#N/Aエラーを回避の操作画像9 1 の引数[値]の欄にカーソルがある状態で、数式バーの左にある[▼]をクリックし、VLOOKUP関数を選びます。

[▼]をクリックして表示された一覧にVLOOKUP関数が無ければ、この一覧の一番下にある[その他の関数]をクリックし、VLOOKUP関数を選びます。

ダイアログボックスがVLOOKUP関数のものに変わるので、VLOOKUP関数の引数を設定します。
IFERROR関数でVLOOKUP関数の#N/Aエラーを回避の操作画像10

さて、VLOOKUP関数の引数を設定すると、安心して[OK]ボタンを押したくなりますが絶対に押してはいけません(笑)。まだ早いっす。
なぜならここまでの作業は、最初に入れたIFERROR関数の引数[値]を設定しただけで、まだ[エラーの場合の値]は設定していないからです。

IFERROR関数の残りの引数を設定するため、関数のダイアログボックスをIFERROR関数のものに戻します。
下の図のように、数式バーの[IFERROR]の文字のところでクリックすると・・・
IFERROR関数でVLOOKUP関数の#N/Aエラーを回避の操作画像11

ダイアログボックスが「IFERROR」のものに戻り、引数[値]の欄にはここまで設定した数式が入っていることが分かります。
IFERROR関数でVLOOKUP関数の#N/Aエラーを回避の操作画像12

引数[値]に設定した数式がエラーだった場合、今回は空欄を表示させたいわけですから、[エラーの場合の値]には、「空欄」を意味するダブルクォーテーション2つを入力します。
IFERROR関数でVLOOKUP関数の#N/Aエラーを回避の操作画像13

これで全ての引数を指定し終わったので、最後にOKボタンをクリックします。

IFERROR関数でVLOOKUP関数の#N/Aエラーを回避の操作画像14 VLOOKUP関数の数式がエラーにならない場合はVLOOKUPの計算結果が表示されるので、ちゃんと「顧客コード」該当する「顧客名」が表示されます。

IFERROR関数でVLOOKUP関数の#N/Aエラーを回避の操作画像15 [検索値]となるセルに何も入力されていない場合や、

IFERROR関数でVLOOKUP関数の#N/Aエラーを回避の操作画像16
[検索値]となるセルに入力したものが、[範囲]に指定した一覧表に無い場合はエラーとなるので、そのエラーは表示されず、空欄となっていることが分かります!

スポンサーリンク