今回の記事はExcel(エクセル)|VLOOKUP関数でエラーを返さず空白で返す方法についてお話します。
VLOOKUP関数を使っていて目にする「#N/A」エラー表示ですが、空欄で返されているエラーは、IF関数を使って空白処理をすることで、エラーを表示させることなくVLOOKUP関数を挿入することができます。
使い方は意外と簡単なので、ぜひ参考になさってください。
VLOOKUP関数でエラーを返さず空白で返す方法の画像解説
まずは、ザックリとVLOOKUP関数でエラーを返さずに空白で返す方法のイメージをわかりやすいイラストで解説しています。
下記をご覧ください。
VLOOKUP関数で空白を返す方法
エラーの確認と原因
まずは、エラーの内容の確認の方法と、原因についてお話しします。
VLOOKUP関数を挿入したセルの2つ目からエラーが表示されています。
エラーが表示されたら、関数の内容を確認しましょう。
最初に入れた関数の中身を確認しても問題はないようです。
1つ目の関数を下にコピーしているので、2つ目以降も特に間違っていません。
原因は、検索値が入っているか、いないかによるものです。
検索値が入っていれば、それに対応する検索結果を表示しますが、検索値が空欄の場合、該当するのもがないので、エラーが表示されます。
IF関数で空白処理をする方法
関数の中身は合っていますが、検索値が入っていないことで表示されるエラーは、放っておいても特に問題はありませんが、カッコいいのものではありませんし、印刷したときにも表示されてしまうので、無い方がいいと感じることは多いと思います。
エラーを消して、またコピーして使うという方法もありますが、効率も悪いので、一番おすすめなのがIF関数でエラー表示を自分でコントロールするということです。
まず、VLOOKUP関数を挿入したセルの1つ目のセルを編集状態にします。
セルを選択して「F2」キーを押すと編集状態にすることができます。
VLOOKUP関数の前に、「IF(」を挿入します。
IF関数の論理式に「C3=””,」と入力します。半角カンマまで入力しましょう。
これで、「セルC3が空欄だったら、」という論理式を入れることができます。
続けて、IF関数の真の場合に「"",」を入力します。半角カンマまで入力しましょう。
これで論理式の条件に一致した場合、「空欄にする」という内容を入力することができました。
これで関数の修正をすることができました。
Enterキーを押して関数を確定させましょう。
この状態でEnterキーを押すと、メッセージが表示されます。
このメッセージは数式で表示されることがよくありますが、「カッコが足りていないので、付け加えて直しておきますね。いいですか?」という内容で、エクセルの親切機能です。
「はい」をクリックして進めましょう。
結果が表示されたら、下のセルにも数式をコピーします。
これで、エラーを消すことができました。
関数を修正したことで、
「セルC4が空欄だったら、空欄にして、そうでなければVLOOKUP関で対応するデータを出してね」
という内容になったので、先ほどまでエラーが出ていたセルも空白になりました。
検索値が空欄であれば空白、検索値が入力されれば対応するデータが表示されます。
IFERROR関数で空白処理をする方法
もう一つは、IFERROR関数で、エラーが出たときにどうするかを決めることができます。
セルを編集状態にします。
VLOOKUP関数の前に「IFERROR(」を入力します。
続いて、VLOOKUP関数の後ろにカーソルを合わせて「,""」を入力します。
Enterキーを押して、メッセージが表示されたら「はい」をクリックします。
あとは、数式を下のセルにコピーしたら完成です。
IFERROR関数を使うことで、「VLOOKUP関数で求めた結果がエラーであれば、空欄にする」という内容に修正することができました。
ココがポイント
IF関数とIFERROR関数どっちがいい?
どちらもエラーの場合に、エラーを表示させることなく、空欄にすることができる関数ですが、どっちを使うのが良いのか疑問もあると思います。
どちらを使っても間違いではありませんが、関数の中身を正しく入れて、理解して使用することが大切です。
IFERROR関数はエラーを表示させないようにすることができる便利な関数ですが、エラーの原因に関わらず表示させないようにするものです。
下記の例を見てみましょう。
1行目、2行目ともに検索値が入力されていますが、1行目は空欄、2行目はエラーになっています。
1行目は、IFERROR関数を使ってエラー処理をしています。
今回のエラーの原因は、範囲の参照が間違っていて、検索値に対応するものを見つけることができないために起こっているものですが、エラーの内容に関係なく、IFERROR関数を使えばエラー表示をなしにすることができます。
続いて、2行目のエラーですが、こちらも範囲の参照が間違っていて、検索値に対応するものを見つけることができないので、エラーが起こっています。
IF関数でエラー処理はしていますが、IF関数で指定している条件は、「検索値が空欄だった場合はエラーを返さずに空欄にする」というものです。
今回は検索値は入力されているので、エラーの原因は検索値の入力以外で起きているため、エラーが表示されます。
このように、内容関係なくエラーを表示させないIFERROR関数と、条件を分岐させてエラー処理を行うIF関数で使い分けが可能です。
関数に慣れていない人は、エラーに気づかないこともあるので、慣れるまではIF関数で空白の処理を行うと良いでしょう。