VLOOKUP関数で0になる原因と対処法を知りたいときはないでしょうか。
けど、そんな中で悩むことは、
・VLOOKUP関数で0になる対処とあわせて「#REF!」や「#N/A」エラーも回避する方法がわからない
ですよね。
今回はそんなお悩みを解決する
・VLOOKUP関数の0回避とあわせてエラーも回避する方法
についてまとめます!
もくじ
VLOOKUP関数で0になる原因
VLOOKUP関数が0を返す原因はいくつか考えられます。以下にいくつかの可能性と対処法を示します。
原因:参照先が空白セルになっている
検索値に合致し、指定参照先にあるセルの値が空白である場合、0を返します。
検索値が正しく入力されているか、または検索範囲に検索値が含まれているかどうかを確認してください。
参照先が空白セルになっている対処法
表デーの中で空白にならないようなデータ構成にしましょう。
また以下の数式を使って0が表示されないよう回避しましょう。
=IF(VLOOKUP(F2,B1:C6,2,FALSE)=0,"",VLOOKUP(F2,B1:C6,2,FALSE))
IF文でVLOOKUP関数の結果が0であれば””となるようにしています。
原因:テーブル範囲が不正な場合
テーブル範囲が不正な場合でかつその範囲をインデックス指定している場合は、0を返します。
テーブル範囲が不正な場合の対処法
テーブル範囲が正しく指定しなおし、インデックスも正しく修正したテーブル範囲内を参照するよう修正してください。
原因:書式フォーマットが合っていないな場合
VLOOKUP関数が、テーブル範囲内の値と検索値の書式フォーマットが異なる場合、0を返す場合があります。
たとえば、数値を検索するときに、検索値が文字列として格納されている場合などが該当します。
書式フォーマットが合っていないな場合の対処法
検索値とテーブル範囲内の値の書式フォーマットを確認し必要に応じて書式フォーマットを参照元と合わせてください。
VLOOKUP関数で0になる対処とあわせてエラーも回避する方法
VLOOKUP関数で0になることは回避できたけど、「#REF!」や「#N/A」も回避したい場合の方法について説明をします。
これまでVLOOKUP関数で0になることについて説明をしてきましたが、実は0になること自体エラーではありません。
正常に結果を返しています。
一方でVLOOKUP関数が返す「#REF!」や「#N/A」はエラーとなりますので、別にエラーハンドリングする必要があります。
そこで1番目の対処法で紹介しました数式にエラーを回避する内容を追加したいと思います。
それがこちらの数式になります。
=IFERROR(IF(VLOOKUP(F2,B1:C6,2,FALSE)=0,"",VLOOKUP(F2,B1:C6,2,FALSE)),"")
「#N/A」になる条件で検索していますが、エラー表示にはなりませんね。
ちなみにクラシカルなISERROR関数を使うと以下のようになります。
=IF(ISERROR(VLOOKUP(F2,B1:C6,2,FALSE)),"",IF(VLOOKUP(F2,B1:C6,2,FALSE)=0,"",VLOOKUP(F2,B1:C6,2,FALSE)))
でいけるかと思ったのですが、こちらはうまくいきませんでした。
さいごに
いかがでしょうか。
今回は、
・VLOOKUP関数の0回避とあわせてエラーも回避する方法
についてまとめました。
また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。
コメントを残す