というわけで、
今回は 【VLOOKUP関数で「0」や「#N/A」となってしまう原因】と【空白で返す方法】について解説します。
VLOOKUP関数で「0」や「#N/A」となってしまう理由
参照先のセルが空白の場合、「0」で返される
下図のように、VLOOKUP関数の引数で指定した参照先セルが空白の場合、返り値が「0」となります。
検索したい値が見つからない場合、「#N/A」と返される
下図のようにVLOOKUP関数の引数で指定した検索値が見つからない場合、返り値が「#N/A」となります。
「0」 ではなく空白を返す方法
対処法としては2つあります。
- VLOOKUP関数に「&””」を追加する
- IF関数を組み込む
❶「&””」を追加する
このやり方はシンプルかつ覚えやすいのでオススメです。
手順としては、VLOOKUP関数の末尾に「&””」を追加するだけです。
関数の最後に追加した「&""」は、文字列を結合する演算子「&」と空白記号("")です。
つまり、「0」に空白を結合することで「0」は空白の値として扱われるようになります。
❷IF関数を組み込む
❶と比べると、数式が長く可読性が低いので個人的にはあまりおススメしませんが、参考程度にご紹介します。
VLOOKUP関数にIF関数を組み込む方法です。まずはIF関数の入力方法は次の通りです。
=IF(条件式、正の場合、負の場合)
カッコの中には3つ引数を指定します。
・条件となる式
・条件が一致した場合に表示させる値
・条件と一致しない場合に表示させる値 です。
この公式に従うと、下図のようになります。
「#N/A」ではなく空白を返す方法
エラーを表示させないためには、IFERROR関数が便利です。
IFFERROR関数の入力方法は次の通りです。
=IFERROR(値,エラーの場合の値)
引数は2つの値を指定します。まず「値」にはエラーが出る可能性のある式やセルなどを指定します。また、「エラーの場合の値」には、「値」がエラーの場合に表示させたい値を指定します。
つまり、IFERROR関数では、「値」がエラーでない場合は値をそのまま表示させ、エラーの場合は「エラーの場合の値」を表示させることができるのです。
「0」または「#N/A」両方で空白を返す方法
VLOOKUP関数の返り値が「0」「#N/A」どちらの場合にも、空白を返せるように対応することもできます。
その場合、上記で説明した「&””」と「IFERROR関数」両方を使うのです。
VLOOKUP関数の末尾に「&""」を付けることで、返り値が「0」だった場合は空白が返されます。かつ、IFERROR関数の第二引数には「""(空白)」を指定すれば、返り値がエラーの場合でも空白が返されます。
この方法を使えば、VLOOKUP関数の返り値が「0」または「#N/A」のどちらにも空白を返すことができます。