EXCELを使用しているときに、数式の結果が「#N/A」になったことはありませんか?
「#N/A」は数式のエラーを示しているのですが、どうせエラーになるなら非表示(空白)にしたいですよね。
本稿では、EXCELの数式の結果が「#N/A」になったときの対処法(表示しない方法)をご紹介します。
「#N/A」エラーとは
「#N/A」の意味
N/Aは「該当なし(not applicable)」または「利用できない(not available)」を意味します。
EXCELでこの「#N/A」エラーをよく目にするのは、VLOOKUP関数などの検索関数を使っているときに、指定した検索条件に合うデータがない場合です。
指定した検索条件に合致するものがない場合に発生するエラーと、EXCELの仕様によりやむを得ず「#N/A」エラーとして表示されてしまうケースとがあります。
VLOOKUP関数でよくある「#N/A」エラー
今回の見積書のケースでは、未入力の項目(セルB18)を探した計算の結果として、エラーではなくても「#N/A」が表示されています。
時短しようと思って見積書のテンプレ―トにあらかじめ関数を組んでおくと、VLOOKUP関数の性質上、未入力項目にどうしても「#N/A」が表示されてしまいます。これは仕方のないことですが、正直、煩わしいですよね。
「#N/A」エラーを表示させない方法
せっかく入力したVLOOKUP関数はいちいち数式を削除しなくても済むように、「IFERROR(イフエラー)関数」又は「IF(イフ)関数」を使い、「#N/A」エラーを表示させない方法をご紹介します。
実用的で、かつ見た目もキレイな見積書のレンプレートを作成してみましょう。
対処法1:IFERROR関数を使う
まずは、「IFERROR(イフエラー)関数」を使ったやり方です。
見積書を例題にして、解説していきます。
【構文】IFERROR(値, エラーの場合の値)
VLOOKUP関数の計算結果がエラーの場合は「空白」を表示させるという意味の関数です。
EXCELでは、数式の中で文字列を扱うときは””(ダブルクォーテーション)で囲むというルールがあります。
今回のように、見かけを「空白」に見せたいときは「””」を入力しておきます。
(「””」は文字数が0文字の文字列という意味ですが、そこまで覚えなくても大丈夫です)
「#N/A」エラーを表示しない方法(IFFERROR関数)
セル【C18】に「IFERROR関数」を入力します。
=IFERROR(VLOOKUP(B18,価格表!$A$2:$C$6,2,FALSE),””)
関数を入力したら、オートフィル機能を使って明細行の一番下まで関数をコピーします。
対処法2:IF関数の論理式を組む
次に、「IF関数」を使う場合の解決策です。
こちらも、同じく見積書を例題にして、解説していきます。
【構文】IF(論理式,真の場合,偽の場合)
セルB18が空欄の時は空欄を表示させ、セル18が空欄ではないときはVLOOKUP関数の結果を返す、という意味の関数です。
セルB18に商品コードが入力されたときだけ、VLOOKUPの結果が反映される仕組みになっています。
IF関数の基本的な使い方を知りたい方は、こちらの記事を参考にしてみてください。
「#N/A」エラーを表示しない方法(IF関数)
セル【C18】に「IF関数」を入力します。
=IF(B18=””,””,VLOOKUP(B18,価格表!$A$2:$C$6,2,FALSE))
関数を入力したら、オートフィル機能を使って明細行の一番下まで関数をコピーします。
#N/Aエラーを表示しない方法 まとめ
N/Aは「該当なし(not applicable)」または「利用できない(not available)」を意味します。
- 指定した検索条件に合致するものがないときに発生する場合
- VLOOKUP関数の性質上、未入力項目に対して「#N/A」が発生する場合
の2パターンが存在します。
後者の場合は「IFERROR関数」又は「IF関数」を使うことで、エラーが表示されるのを解消することができます。
IFERROR関数(例)
=IFERROR(VLOOKUP(B18,価格表!$A$2:$C$6,2,FALSE),””)
IF関数(例)
=IF(B18=””,””,VLOOKUP(B18,価格表!$A$2:$C$6,2,FALSE))
コメント