こんにちは、さち です。
エクセル(Excel)で、よく使う「VLOOKUP」関数
通常、一致する値が見つからない時はエラー(#N/A)が出ます。
一致が必須な表作りであれば、この仕様でも問題ないのですが
必須でない場合、エラー発生を避けられないため
エラーの代わりに「該当なし」など任意の表示をしたいんですよね。
検索方法を「TRUE」にすると近似一致はできますが
これは、近似値(文字列は前方一致)での結果が返ってくるので
解決にはなりません。
一体、どうすればいいの?
「VLOOKUP」で一致するものがないとエラーが出る
- サンプルとして、表を作ってみました。
「A3」セルに名前を入力すると、検索用の表から一致するものを探して
所属しているユニットを「B3」セルに表示します。
- 例えば、「A3」セルに「ダイヤ」と入力すると、「B3」セルには「AZALEA」と表示されます。
- しかし、検索用の表にない名前を「A3」セルに入力した場合
「B3」にはエラー(#N/A)が表示されてしまいます。
一致するものがない時に、「該当なし」と表示させる
VLOOKUP関数 で一致するものがない時に、「該当なし」と表示するには
エラー発生時に任意を値を表示する「IFERROR」関数を使います。
「IFERROR」関数の書式は次のとおり。
= IFERROR( 式, 式がエラーの時に表示する値 )
※ Excel 2007 以降で使用可
※ Excel 2007 以降で使用可
式でエラーが発生した時は、「式がエラーの時に表示する値」を返します。
エラーが発生しなかった時は、式の結果をそのまま返します。
関数名が「イフ エラー」で、日本語訳は「もし、エラーなら」ですし
書式も直感的なので、覚えやすく使いやすいですね。
ちなみに、IFERROR関数は
セル左上に緑色の三角形が付くようなエラーすべてに対応していますが
シリアル値(日時を意味する値)が範囲外のときに表示される
「#######」には対応できないので注意して下さい。
(数値がシリアル値の範囲外なだけでエラーではないため)
では、先ほどの表で実際に使ってみましょう。
- 検索用の表に、一致する名前がない時に表示する値を追加します。
今回は、「該当なし」としました。
(「A16」セルは使わないので、分かりやすいものを適当に入力)
- 「B3」セルの式に IFERROR関数 を追加します。
IFERROR関数 の「式」には、入力済みの VLOOKUP関数 をそのまま使用
「式がエラーの時に表示する値」には、「B16」セルを指定します。
- これで、「B3」セルはエラー(#N/A)の代わりに「該当なし」と表示されます。
【関連記事】
コメント
仕事でVLOOKUP関数を使う為にこちらのブログを訪問しましたが、例えの表を見て同じ匂いを感じてしまったラブライバー(海未推し)です…w
お仕事お疲れさまです。私はμ'sだとことり・絵里推しです!