スポンサーリンク

エクセル:VLOOKUP関数で「該当なし」の時に任意の文字列を表示

この記事は約2分で読めます。

操作画面

こんにちは、さち です。

エクセル(Excel)で、よく使う「VLOOKUP」関数
通常、一致する値が見つからない時はエラー(#N/A)が出ます。

一致が必須な表作りであれば、この仕様でも問題ないのですが
必須でない場合、エラー発生を避けられないため
エラーの代わりに「該当なし」など任意の表示をしたいんですよね。

検索方法を「TRUE」にすると近似一致はできますが
これは、近似値(文字列は前方一致)での結果が返ってくるので
解決にはなりません。

一体、どうすればいいの?

スポンサーリンク

「VLOOKUP」で一致するものがないとエラーが出る

  1. サンプルとして、表を作ってみました。
    「A3」セルに名前を入力すると、検索用の表から一致するものを探して
    所属しているユニットを「B3」セルに表示します。
    操作画面
  2. 例えば、「A3」セルに「ダイヤ」と入力すると、「B3」セルには「AZALEA」と表示されます。
    操作画面
  3. しかし、検索用の表にない名前を「A3」セルに入力した場合
    「B3」にはエラー(#N/A)が表示されてしまいます。
    操作画面

一致するものがない時に、「該当なし」と表示させる

VLOOKUP関数 で一致するものがない時に、「該当なし」と表示するには
エラー発生時に任意を値を表示する「IFERROR」関数を使います。

「IFERROR」関数の書式は次のとおり。

= IFERROR( 式, 式がエラーの時に表示する値 )
※ Excel 2007 以降で使用可

式でエラーが発生した時は、「式がエラーの時に表示する値」を返します。
エラーが発生しなかった時は、式の結果をそのまま返します。

関数名が「イフ エラー」で、日本語訳は「もし、エラーなら」ですし
書式も直感的なので、覚えやすく使いやすいですね。

ちなみに、IFERROR関数は
セル左上に緑色の三角形が付くようなエラーすべてに対応していますが
シリアル値(日時を意味する値)が範囲外のときに表示される
「#######」には対応できないので注意して下さい。
(数値がシリアル値の範囲外なだけでエラーではないため)

では、先ほどの表で実際に使ってみましょう。

  1. 検索用の表に、一致する名前がない時に表示する値を追加します。
    今回は、「該当なし」としました。
    (「A16」セルは使わないので、分かりやすいものを適当に入力)
    操作画面
  2. 「B3」セルの式に IFERROR関数 を追加します。
    IFERROR関数 の「式」には、入力済みの VLOOKUP関数 をそのまま使用
    「式がエラーの時に表示する値」には、「B16」セルを指定します。
    操作画面
  3. これで、「B3」セルはエラー(#N/A)の代わりに「該当なし」と表示されます。
    操作画面

【関連記事】

   → エクセル(Excel)で知ってると便利なこと 目次

コメント

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