請求書や見積書・受注書などの書類に商品・単価・数量・金額を表示するときにVLOOKUP関数を使って自動表示させると、検索値となっているセルが未入力の状態だと「#N/A」というエラーが表示されてしまいます。この状態では、送付することができませんし、セルの内容を消してしまうと関数を使って自動入力できるようにした意味が無くなってしまいます。エラーは「表示しない」または「表示を消す」処理をしたいと思います。
そこで今回は、エラーを非表示にするIFERROR関数を使って表示しない処理方法についてまとめました。
エクセル(Excel)関数のIFERRORの使い方
IFERROR関数は、数式の結果がエラーだったときに、行なう処理を指定することができます。
今回は、「別表からデータを検索して表示するVLOOKUPの使い方」で作成したVLOOKUP関数で説明したいと思います。VLOOKUP関数は、商品コードを入力することで商品名・単価を検索して自動表示してくれますが、商品コードが入力されていないとエラー表示されます。この「#N/A」エラー表示をIFERROR関数を使って空白を表示するようにします。
=IFERROR(値,エラーの場合の値)
値・・・エラーかどうかを判定する値または、数式を指定します。
エラーの場合の値・・・値がエラーのときに表示する値を指定します。
エクセル関数IFERRORでエラーを非表示にする方法
VLOOKUP関数を使って、商品コードに一致する商品名と単価を自動的に表示するようにしましたが、商品コードが入力されていない行の商品名と単価の欄にはエラー表示の「#N/A」が表示されてしまいます。このエラーを表示したまま印刷して取引先などに送ることができませんので、表示しないようにしたり、表示を消す処理をしないといけません。
値がエラーの場合に指定した値を返す「IFERROR関数」を使って非表示にしたいと思います。
=IFERROR(VLOOKUP(B13,商品リスト!$A$1:$C$12,2,FALSE),“”)
値・・・エラーかどうかを判定する値を、VLOOKUP関数を指定します。
エラーの場合の値・・・VLOOKUP関数の結果がエラーだったとき、空白を表示するために「””」を指定します。
IFERROR関数を使い、VLOOKUP関数の表示結果がエラーだったとき空白を表示する関数式が正しく処理されていることを確認できました。商品名と単価に入力されている関数式をIFERRORを使った関数式にすることで、エラーを検出したら消すことができます。
IFERRORを使わずにIF関数でもエラーを非表示にする方法
エクセル(Excel)関数を使ってエラーを表示しないようにするためには「 IF関数 」を使っても対応することができます。ただし、IFERROR関数とIF関数では考え方が違います。
IFERROR関数は、VLOOKUPの結果がエラーだったときに値を返します。
IF関数は、VLOOKUP関数のエラーの原因を回避する処理を行ないます。
IF関数を使ってエラーを非表示にするのは、商品コードが空白だったときに商品名や単価を空白表示し、VLOOKUP関数を実行しないという処理方法です。
それぞれの関数式としては、下記のようになります。
=IFERROR(VLOOKUP(B13,商品リスト!$A$1:$C$12,2,FALSE),””)
=IF(B13=””,””,VLOOKUP(B13,商品リスト!$A$1:$C$12,2,FALSE))
IF関数を使ってもエラーを表示しないことができます。
IFNA関数を使ってもエラー非表示できる
IFERROR関数は、エラーの種類を問わず全てのエラーを識別しますが、IFNA関数は「#N/A」エラーのみを処理する関数です。逆に言えば「#N/A」以外は処理できないため、エラー表示されてしまいます。
今回のようにVLOOKUP関数を使ったときは、エラー表示が「#N/A」が表示されることが分かっているのでIFNA関数を利用することができます。ただ、全てのエラーを表示したくないときには、IFERROR関数を使ったほうがいいです。
IFNA関数はEXCEL2010より前のエクセルのバージョンでは使えません。
=IFNA(値,エラーの場合の値)
編集後記
入力された値が違うというエラーの場合であれば、表示して改善しないといけませんが、VLOOKUP関数の場合の「#N/A」エラーは検索値が入力されていないというエラーのため、表示されてしまうと不都合が生じてしまいます。
もし、エラーだったら空白やブランクを表示して書類としての体裁を整えることができます。エラーが表示されたから、セルの内容を削除したりすると次回以降使うときに不便になってしまうため、IFERROR関数を使って対応したほうが効率的ですので、使ってみてください。
コメントを残す