目的に応じてエラーを処理する

VLOOKUP(ブイ・ルックアップ)関数が含まれるファイルには、しばしば「#N/Aエラー」が表示されます。以下の見積書のように、未入力の項目にもVLOOKUP関数の数式が入力されているケースが典型例です。

VLOOKUP関数のエラーを空白や任意の文字列にする方法

VLOOKUP関数が入力されたセルに、該当する値がない場合は「#N/Aエラー」が表示されます。

エラーが表示されているといっても、この数式やワークシートにミスがあるわけではありません。該当する値がないことを示している正しい動作なので、社内の関係者のみが扱うワークシートなら、このままで問題ないでしょう。

しかし、取引先に提出するときなど、エラーが表示されたままにしたくない状況もよくあります。

IFERROR関数を使って#N/Aエラーを非表示にする

#N/Aエラーを非表示にする方法のうち、いちばん簡単なのはIFERROR(イフ・エラー)関数を使う方法です。セルに入力されたVLOOKUP関数の数式の前後に付け足すだけで完成します。

ここで例にする見積書には、商品マスタ(セルG3~J10)を参照して、商品名と単価を取得するVLOOKUP関数が入力されています。

VLOOKUP関数のエラーを空白や任意の文字列にする方法

B列とC列には、商品マスタ(セルG3~J10)を参照して、商品名と単価を取得するVLOOKUP関数が入力してあります。

B列、C列にはそれぞれ以下のような数式が入力されています。

=VLOOKUP(A14,$G:$J,2,FALSE)
=VLOOKUP(A14,$G:$J,3,FALSE)

セルA17に対応する商品は存在しない、また、セルA18~A20は空白なので「#N/Aエラー」が表示されている状況です。これを非表示にします。

IFERROR関数の構文は以下の通りです。[]を判定して、エラーであれば[エラーの場合の値]を、エラーでなければ[]をそのまま表示します。


=IFERROR, エラーの場合の値


IFERROR関数の[]に、VLOOKUP関数の数式を入れ込みます。

1IFERROR関数を追加する

VLOOKUP関数のエラーを空白や任意の文字列にする方法

まず、セルB14を編集状態にします。「=」のすぐ後ろ、VLOOKUP関数の前に「IFERROR(」と入力し、VLOOKUP関数の閉じカッコの後ろに「),""」と入力して[Enter]キーを押してください。修正した数式は以下のようになります。

=IFERROR(VLOOKUP(A14,$G$3:$J$10,2,FALSE),"")
2修正した数式をコピーする

VLOOKUP関数のエラーを空白や任意の文字列にする方法

セルB14の結果に変化はありません。修正した数式をセルB20までコピーします。

3#N/Aエラーを非表示にできた

VLOOKUP関数のエラーを空白や任意の文字列にする方法

#N/Aエラーが非表示になりました。C列も同様に修正すれば、#N/Aエラーを非表示にできます。

今回IFERROR関数の[エラーの場合の値]に指定した「""」は、空の文字列を表します。つまり、エラーのときは空白を表示するということです。

なお、IFERROR関数の代わりに、#N/Aエラーを判定するIFNA(イフ・エヌエー)関数も利用可能です。構文は同じく[]を判定して、エラーであれば[エラーの場合の値]を、エラーでなければ[]をそのまま表示します。


=IFNA, エラーの場合の値


#N/Aエラーの代わりに任意の文字列を表示する

今度は、#N/Aエラーの代わりに任意の文字列を表示してみましょう。先ほどのIFERROR関数の[エラーの場合の値]に指定した「""」の間に任意の文字列を挟むだけです。

さらにIF関数を加えることで、文字列を出し分けることも可能です。

1IFERROR関数を修正する

VLOOKUP関数のエラーを空白や任意の文字列にする方法

セルB14を編集状態にしてIFERROR関数の引数[エラーの場合の値]を修正します。ここでは「"該当なし"」と入力します。修正した数式は以下のようになります。

=IFERROR(VLOOKUP(A14,$G$3:$J$10,2,FALSE),"該当なし")
2修正した数式をコピーする

VLOOKUP関数のエラーを空白や任意の文字列にする方法

修正した数式をセルB20までコピーすると、商品Noが空白の場合も「該当なし」と表示されてしまいました。このままでは適切な表示ではないので、IF関数を組み合わせて「A列が空白の場合」という条件を追加します。

3IF関数を追加する

VLOOKUP関数のエラーを空白や任意の文字列にする方法

セルB14を編集状態にして「=」のすぐ後ろ、IFERROR関数の前に「IF(A14="","",」と入力し、末尾に「)」と追加して[Enter]キーを押します。修正した数式は以下の通りです。

=IF(A14="","",IFERROR(VLOOKUP(A14,$G:$J,2,FALSE),"該当なし"))
4数式を正しく修正できた

VLOOKUP関数のエラーを空白や任意の文字列にする方法

修正した数式をセルB20までコピーします。商品Noに該当する商品が存在しない場合は「該当なし」、商品Noが空白の場合は空白に設定できました。

印刷時の設定でエラーを非表示にする

エラーが気になるのは、納品物として資料を完成させるタイミングが多いのではないでしょうか。ExcelファイルをPDF化したり、印刷したりするときだけエラーを非表示にしたいのであれば、印刷時のみエラーを非表示にする設定をおすすめします。IFERROR関数での処理は不要です。

VLOOKUP関数のエラーを空白や任意の文字列にする方法

ワークシート上に#N/Aエラーが表示されていても、印刷するときにのみエラーを非表示にできます。

1[ページ設定]ダイアログボックスを表示する

VLOOKUP関数のエラーを空白や任意の文字列にする方法

[ページレイアウト]タブの[ページ設定]をクリックします。

2セルのエラーを非表示にする

VLOOKUP関数のエラーを空白や任意の文字列にする方法

[ページ設定]ダイアログボックスが表示されました。[シート]タブにある[セルのエラー]の項目で[<空白>]を選択します。

3印刷プレビューを確認する

VLOOKUP関数のエラーを空白や任意の文字列にする方法

[Ctrl]+[P]キーを押して印刷プレビューを確認すると、#N/Aエラーが非表示になっていることが分かります。

#N/Aエラーは、該当する値が存在しないことを示すため、非表示にすると注意すべき値を見失ってしまう可能性があります。ミスに気付くためには、#N/Aエラーをむやみに非表示にすべきではないともいえます。目的に応じてテクニックを使い分けるようにしましょう。

関連記事

VLOOKUP関数の使い方

ExcelのVLOOKUP(ブイ・ルックアップ)関数はビジネスに必須ですが、引数の指定方法が複雑です。使い方をあらためて確認しましょう。引き継いだファイルにVLOOKUP関数が含まれていたときにも、意味が読み解けるようになります。

VLOOKUP関数のエラーや結果がおかしいときの解決法

ExcelのVLOOKUP(ブイ・ルックアップ)関数の入力後、#N/Aエラーが表示されたり、期待した値が見つからなかったりすることがあります。これらは多くの場合、引数の[検索値]や[範囲]にミスがあるのが原因です。

Excel関数 機能別一覧(全486関数)

すべてのエクセル関数を、「数学/三角関数」「論理関数」「統計関数」といった機能ごとの分類でまとめた一覧です。Microsoft 365(旧称:Office 365)専用の関数、およびExcel 2019~2007に対応した関数と、その使い方解説記事を探せます。