当サイトはアフィリエイト広告を利用しています。
ExcelでVLOOKUP関数などを使うと、「#N/A」というエラー値が返されることがあります。
#N/Aエラーにはいったいどんな意味があるのでしょうか。そして、#N/Aエラーを表示させないようにするにはいったいどうすれば良いのでしょうか。
今回は、Excelの#N/Aエラーの意味と表示させない方法をご紹介します。
#N/Aエラーの意味
「#N/A」の読み方は「ノーアサイン(=値がない)」です。つまり#N/Aエラーは、返せる値がないことを示しています。
「返せる値がない」とはどういうことかと言うと、「検索値と一致するものがない」ということです。
たとえば=VLOOKUP(106,A1:E6,2,FALSE)
という数式を使ってA1からE6の範囲からIDが106の名前を取得しようとしても、その範囲にID106が存在しなければ#N/Aエラーになってしまいます。
#N/Aエラーにはこのような意味があることから、VLOOKUP関数のほか、HLOOKUP関数、XLOOKUP関数、MATCH関数などの使用時にも発生することがあります。
#N/Aエラーになる原因
#N/Aエラーになるのは、検索の対象範囲に検索値が存在しないからです。つまり、対象範囲に存在する値を検索値として設定すれば、#N/Aエラーにはなりません。
たとえば…
- 「りんご」を検索したいのに検索値を「リンゴ」にしている
- 「APPLE」を検索したいのに検索値を「APPLE」にしている
- 「りんご」を検索したいのに検索値を「りんご 」にしている
など、ひらがなで入力すべきところをカタカナで入力していたり、半角で入力すべきところを全角で入力していたり、余計なスペースが含まれていたりすると、検索値と一致するものがないとみなされて#N/Aエラーになります。
#N/Aエラーを表示させない方法
#N/Aエラーを表示したくない場合は、「IFERROR関数」を使いましょう。IFERROR関数を使うと、数式がエラーだった場合に表示する内容を指定できます。
IFERROR関数(イフエラー関数)は、数式がエラーでなければ数式の結果を返し、エラーであれば指定された値を返す関数です。
IFERROR(値, エラーの場合の値)
- 値(必須)
- エラーかどうかをチェックする数式を指定する。
- エラーの場合の値(必須)
- 【値】がエラーの場合に返す値を指定する。
たとえば、VLOOKUP関数を使った数式の結果がエラーになる場合に空白を表示するには、=IFERROR(VLOOKUP(G2,A1:E6,2,FALSE),"")
のような数式を入力します。すると、VLOOKUP関数の結果がエラーでなければその結果が返され、エラーであれば空白が返されます。
ちなみに、空白ではなく0にするには「””」の部分を「0」に、「該当なし」にするには「””」の部分を「”該当なし”」にします。
#N/Aエラーかどうか判定する方法
#N/Aエラーかどうか判定するには、「ISNA関数」を使います。
ISNA関数(イズエヌエー関数)は、テストの対象が#N/Aエラーであれば「TRUE」を、そうでなければ「FALSE」を返す関数です。
ISNA(テストの対象)
- テストの対象(必須)
- #N/Aエラーかどうかチェックしたい値を指定する。
たとえば、B2からB4が#N/Aエラーかどうかの判定結果をC2からC4に表示するには、C2に=ISNA(B2)
と入力し、この数式をC4までオートフィルします。
#N/Aに限らず何らかのエラーの有無を調べたいときは「ISERROR関数」を使うと良いでしょう。使い方はISNA関数と同じです。
ISERROR関数(イズエラー関数)は、テストの対象がエラーの場合に「TRUE」を返し、エラーでない場合に「FALSE」を返す関数です。
ISERROR(テストの対象)
- テストの対象(必須)
- エラーかどうかチェックしたい値を指定する。
#N/Aエラーを無視して計算する方法
セルを集計する場合で、「対象セルの中に#N/Aエラーがあれば、そのセルを無視して集計したい」というときは、「AGGREGATE関数」を使うと良いでしょう。AGGREGATE関数を使うと、対象セルにエラーがあった場合、そのセルを集計から除外できます。
AGGREGATE関数(アグリゲート関数)は、エラーを無視するなどのオプションを指定したうえで、指定した関数で対象範囲を集計できる関数です。
AGGREGATE(集計方法, オプション, 範囲1, [範囲2], …)
- 集計方法(必須)
- どの関数を使って集計するか1~19で指定する。
- 1:AVERAGE
- 2:COUNT
- 3:COUNTA
- 4:MAX
- 5:MIN
- 6:PRODUCT
- 7:STDEV.S
- 8:STDEV.P
- 9:SUM
- 10:VAR.S
- 11:VAR.P
- 12:MEDIAN
- 13:MODE.SNGL
- 14:LARGE
- 15:SMALL
- 16:PERCENTILE.INC
- 17:QUARTILE.INC
- 18:PERCENTILE.EXC
- 19:QUARTILE.EXC
- オプション(必須)
- 集計のオプションを0~7で指定する。省略すると「0」として処理される。
- 0:ネストされたSUBTOTAL関数とAGGREGATE関数を無視する
- 1:非表示の行、ネストされたSUBTOTAL関数とAGGREGATE関数を無視する
- 2:エラー値、ネストされたSUBTOTAL関数とAGGREGATE関数を無視する
- 3:非表示の行、エラー値、ネストされたSUBTOTAL関数とAGGREGATE関数を無視する
- 4:何も無視しない
- 5:非表示の行を無視する
- 6:エラー値を無視する
- 7:非表示の行、エラー値を無視する
- 範囲1(必須)
- 集計したい数値が入力されているセルを指定する。
- 範囲2(省略可)
- 追加で集計したい数値が入力されているセルを指定する。
なお、「範囲」は最大253個まで指定できます。
たとえば、B2からB6に#N/Aエラーがある場合にそれを無視して平均点を出すには、=AGGREGATE(1,6,B2:B6)
と入力します。
まとめ
今回は、Excelの#N/Aエラーの意味と表示させない方法をご紹介しました。
Excelの#N/Aエラーは、返せる値がない場合に発生するエラーです。VLOOKUP関数、HLOOKUP関数、XLOOKUP関数、MATCH関数などの使用時によく見られます。
数式がエラーだった場合に表示する内容を指定できるIFERROR関数を使えば、#N/Aエラーを非表示にできますよ。
Udemyでは、買い切りの動画講座で好きな分野について自分のペースで学ぶことができます。
パソコンだけでなくスマホにも対応しているので、移動時間や休憩時間にスマホで学習することも可能です。
30日間の返金保証付きなので、初めてでも安心して受講できますよ。
▼ おすすめのExcel VBA講座はこちら ▼