- 公開日:
ExcelのVLOOKUP関数で#N/Aエラーを表示させない方法
この記事では、ExcelのVLOOKUP関数で#N/Aエラーを表示させない方法をご紹介します。
#N/A(ノー・アサイン)エラーは、検索値が検索範囲に無かったり書式や引数の使い方を間違えたりしている場合に表示されるエラーです。
以下では、#N/Aエラーが発生する原因のほかに関数を組み合わせて#N/Aエラーを指定した文字列や空白に変換する方法をご紹介します。
#N/Aエラーが表示される原因と対処方法
#N/Aエラーが発生する原因は1つではありません。操作ミスによってエラーが発生している場合は正しいデータ検索をすることができません。
特にエクセルの操作に慣れていない場合は、#N/Aエラーを処理する前にどんな原因で起こっているのか確かめてみることをおすすめします。
詳しい原因と対策方法は以下の記事を参考にしてみてください。
ExcelのVLOOKUP関数で#N/A(無効な値)エラーの解決法
ExcelのVLOOKUP関数で#N/Aエラーを表示させない方法
以下では、#N/Aエラーの代わりに文字列や空白を返す方法をご紹介します。
#N/Aエラーだけを文字列で返して#N/Aエラーを表示させない方法
#N/Aエラーを表示しないことで表やリストがすっきりと見えます。また、文字列を指定することでどういう状態なのかを言葉で表現することができます。
例ではVLOOKUP関数を使って、「注文票」の管理番号を検索値にして「A店取扱品」の管理番号に紐づいた商品名を「注文票」の商品名に返します。A14セルからA16までの管理番号は「A店取扱品」の表に存在しないので#N/Aエラーが表示されています。
B10セルに「=IFNA(VLOOKUP(A10,$A$3:$B$6,2,FALSE),"該当なし")」を入力し、Enterを押します。#N/Aエラーの場合は「該当なし」が表示され、ほかのエラーの場合はエラーが表示されます。また、ダブルクォーテーション内の文字列は任意の文字列に変更可能です。IFNA関数は#N/Aエラーにのみ指定した値を返し、それ以外は数式の結果を返します。書式は「=IFNA(値,#N/Aエラーの場合の値)」です。
B10セルに結果が表示されました。B10セルのフィルハンドルをドラッグして数式をコピーします。
#N/Aエラーを指定した文字列(例:該当なし)で表示することができました。#N/Aエラー以外のエラーが返された場合は指定した文字列を返さないので、どのようなエラーが発生しているのかを一目で確認することができます。
様々なエラーを指定した文字列で返して#N/Aエラーを表示させない方法
VLOOKUP関数を使用する際、様々なエラーが表示された場合に文字列を返す方法をご紹介します。
例ではVLOOKUP関数を使って、「注文票」の管理番号を検索値にして「A店取扱品」の管理番号に紐づいた商品名を「注文票」の商品名に返します。
A14セルからA16までの管理番号は「A店取扱品」の表に存在しないので#N/Aエラーが表示されています。
以下の手順で、#N/Aエラーを指定した文字列で表示していきます。
B10セルに「=IFERROR(VLOOKUP(A10,$A$3:$B$6,2,FALSE),"該当なし")
」を入力し、Enterを押します。
上記の数式により、エラーの場合は「該当なし」が表示され、エラーが出ない場合は「A店取扱品」の管理番号に紐づく商品名を返します。
ダブルクォーテーション内の文字列は任意の文字列に変更可能です。
IFERROR関数は数式がエラーの場合に指定した空白や文字列を返し、エラーでない場合は数式の結果を返します。書式は「=IFERROR(値,エラーの場合の値)」です。
処理可能なエラーなどの詳細は以下の記事でご紹介しています。
ExcelのIFERROR関数の使い方|エラーの場合に指定した値を返す
B10セルに結果が表示されました。
B10セルのフィルハンドルをドラッグして数式をコピーします。
#N/Aエラーを指定した文字列(例:該当なし)で表示することができました。
ただし、IFERROR関数は#N/Aエラー以外のエラーも処理されてしまうので注意が必要です。
以下では、実際にどういう状況なのかを試していきます。
例えばB10セルに正しくは「VLOOKUP」と入力するところ、あえて「VLOOK」と間違えた数式を入力してみます。
上記の画像の赤矢印で示したように、セルの左上に「エラーインジケータ」が表示されましたが、どんなエラーが発生しているのか分かりづらくなっています。
数式に誤りがある場合、通常は「#NAME?」が表示されますが、IFERROR関数で処理されているのでセルには「該当なし」と表示されます。
該当する管理番号があっても見逃してしまう可能性があるので、#N/Aエラーだけを表示させたくない場合は上記「#N/Aエラーだけを文字列で返して#N/Aエラーを表示させない方法」セクションを参考にしてみてください。
空白で返して#N/Aエラーを表示させない方法
社内でシートを共有している場合や提出用の書類などは、#N/Aエラーや文字列を表示しない方がいい場合があります。
さまざまなエラーが発生した際、IFERROR関数を使うことで空白を返すことができます。
詳細は以下の記事「エクセルで#N/Aを表示しない方法」セクションでご紹介しています。
シート上の#N/Aエラーを印刷時に表示させない方法
使用しているシートを共有しないのであれば、どのような原因でエラーが発生しているのか判断しやすいように作業用のシートはエラーを表示したままでも問題ありません。
ただし、印刷する必要がある場合は見栄えが悪いので、印刷時にエラーを空白で表示することをおすすめします。
シート上のエラーはそのまま表示して、印刷物にのみエラーを表示させない方法は以下の記事「シート上のエラーを空白にして印刷する」セクションでご紹介しています。