
Excelで突然出てくる#N/A表示、何が原因か分からず困ったことはありませんか?
- #N/Aが邪魔で集計できない
- NAの読み方がよく分からない
- VLOOKUPで#N/Aが出る
- 0と#N/Aの違いが不明
この記事ではそんなお悩みをスッキリ解決します。
- #N/Aエラーの原因を理解
- 表示させない方法を習得
- if関数での対処法がわかる
- ビジネスでのN/A活用法も紹介
EXCELでNAが表示される仕組み(いわゆる「EXCELNA判定」)や、
エラーの扱い方について具体的に解説します。
「N/Aとは何の略ですか?」「Excelの計算式で#N/Aとは何ですか?」など、
よくある疑問も丁寧にカバー。
「#N/Aエラーの原因は?」「エクセルで#N/Aを表示させない方法」などの対処法まで、初心者でもすぐに使える知識をわかりやすく紹介します。
ExcelでNA判定が表示される理由
ここでわかること
- N/Aとは何の略?
- #N/Aエラーの原因は?
- #N/Aと0の違いを理解する
- VLOOKUPでの#N/Aの対処法
N/Aとは何の略?
Q:N/Aとは何の略ですか?
A:N/Aは「Not Applicable」または「Not Available」の略です。
書類や表の中で「該当なし」「適用できない」「利用不可」を表すために使われます。
Excelやアンケート、ビジネス文書など、さまざまな場面で見かけます。
たとえば、ミドルネームを持たない人が入国カードのMiddle Name欄に「N/A」と書くのは一般的です。
Q:#N/AとN/Aの違いは?
A:#N/AはExcelのエラー表示です。「該当データが見つからない」ことを表しています。
一方、N/Aはユーザーが任意で記載する「該当なし」の略語です。
Excelでの使用例として、検索値が見つからない場合に #N/A が表示されることがあります。
これは、VLOOKUPやIF関数などと関係があります。
Q:ビジネスではどんな使い方をしますか?
A:主に「記載が必要だが該当しない」項目に使われます。
たとえば、取引先情報やアンケートの記入欄などに、空欄のままだと記入漏れと誤解される場面で使用されます。
以下は、Excelで「営業部のみ〇を表示、それ以外は#N/A」とする関数のサンプルです。
【参考画像】

#N/Aエラーの原因は?
#N/Aエラーは、検索した値が見つからないときに表示されるエラーです。
「データが存在しない」ことを知らせるExcel特有のサインと考えてください。
特にVLOOKUPやMATCH、XLOOKUPなどの検索関数でよく発生します。
該当するデータが検索範囲に存在しない場合、Excelは「ないよ」と言って#N/Aを返します。
VLOOKUP関数でよくある原因はこの3つ
- 検索対象の値がそもそも存在しない
- 検索範囲にミスがある(列範囲がずれている など)
- 近似一致モード(TRUE)で誤ったマッチングが発生している
例:=VLOOKUP(A2, 商品一覧!A:B, 2, FALSE) のような数式では、
「A2の値が、商品一覧のA列に見つからなければ #N/A になる」仕組みです。
注意: 商品一覧表の先頭列(ここではA列)に対象の値が存在しなければ、結果は#N/Aになります。
また、列番号が誤っていると別の列を参照しようとしてエラーになります。
MATCH関数やXLOOKUPでも同様に発生します。
特にセル参照を使っている場合は、スペースや全角/半角の違いに注意が必要です。
【参考画像】

#N/Aと0の違いを理解する
「#N/A」と「0」は、どちらも「空白っぽく見える」ことがあります。
しかし、Excelではまったく意味が違うので注意が必要です。
「0」は数値で、存在する値です。
一方で#N/Aは「データが見つからない」ことを示すエラー値です。
たとえば、売上が「0円」なのは「売れなかっただけ」で、これはデータが存在しています。
しかし、#N/Aは「このデータを参照しようとしたけど、そもそも存在しなかった」という状態を表します。
Excelでの違いを例で見てみましょう。
以下のような関数を使うと、在庫数が0なら「在庫なし」、それ以外は#N/Aになります。
=IF(B2=0,"在庫なし",NA())
この場合、「在庫が0」は「存在している情報」、「#N/A」は「参照すべき値が存在しない」ことを意味します。
ポイント:「0」は数式で扱える数値です。
合計、平均、比較などの演算も問題なくできます。
しかし#N/Aが混ざっていると、計算結果がすべてエラーになることがあるため注意が必要です。
とくにIF関数やIFERROR関数などを使ってエラー処理をすることで、意図しない#N/Aの発生を防ぐことができます。
【参考画像】

VLOOKUPでの#N/Aの対処法
VLOOKUP関数を使ったときに#N/Aが表示されるのはよくあるトラブルです。
これは「検索した値が見つからなかった」ことを表すエラーで、数式自体に致命的なミスがあるわけではありません。
たとえば、以下のような数式を使っているとします。
=VLOOKUP(A2, 商品一覧!A:B, 2, FALSE)
この数式では、A2の値が商品一覧の1列目に見つからなかった場合、結果として#N/Aが返されます。
VLOOKUPで#N/Aになる主な原因
- 検索値が商品一覧に存在しない
- 列番号が間違っている(たとえば3列しかないのに列番号4を指定)
- FALSEを使っているのに完全一致できていない
- データに余分なスペースが入っている(見た目には同じでも内部では異なる)
解決策:
① IFERROR関数でエラーを隠す
=IFERROR(VLOOKUP(A2, 商品一覧!A:B, 2, FALSE), "未登録")
このように書けば、該当データがなくても「未登録」と表示されて見栄えが良くなります。
② 検索値をCLEAN関数やTRIM関数で整える
余分な空白や制御文字を除去すると、正しくマッチできる場合があります。
③ データの存在チェックを事前に行う
MATCH関数やCOUNTIF関数などを使って、データが存在するかどうかを確認してからVLOOKUPを使うという方法も有効です。
【参考画像】

ExcelでNA判定セルを一括チェックする方法
ここでわかること
- #N/Aをエクセルで一括確認するには
- エクセルで#N/Aを表示させない方法
- IF関数で「#N/Aならば」の書き方
- IFERROR関数で#N/Aを隠す
#N/Aをエクセルで一括確認するには
ではここからは実際に、#N/Aエラーを一括で確認する方法を紹介します。
VLOOKUP関数などを使った表計算では、検索対象が見つからないと#N/Aエラーが表示されることがあります。
このようなエラーが広い範囲に点在していると、目視では探しにくく、確認にも時間がかかります。
そこで活用できるのが、Excelのジャンプ機能や条件付き書式です。
ジャンプ機能で#N/Aセルを一括選択する方法
- Ctrl + G で「ジャンプ」ウィンドウを開く
- 「セル選択」→「数式」→「エラー値」にチェック
- 一括でエラーセルが選択され、編集や削除もすぐに対応可能
▼実際の画面はこちら

条件付き書式で#N/Aを目立たせる方法
- B列など対象列を選択(例:B2:B11)
- 条件付き書式 → 「新しいルール」→「数式を使用して…」
=ISNA(B2)を入力し、塗りつぶしを赤に設定
▼条件付き書式で#N/Aだけが赤く表示された例

どちらの方法もエラーの発見と対応を劇的に効率化してくれます。
エラーの原因を素早く確認したい場面では、ぜひ活用してみてください。
エクセルで#N/Aを表示させない方法
#N/Aを表示させずに処理するには、関数の工夫が必要です。
そのままだと、見た目が悪く、データの集計や共有時に混乱の原因となることがあります。
たとえば、VLOOKUP関数などを使って検索しているときに、該当データが見つからないと#N/Aが表示されてしまいます。
このままでは「エラーなのか?未入力なのか?」が一見して判断しづらくなります。
IFERROR関数を使えば、#N/Aを非表示にできます。
IFERROR関数は、「エラーだったら代わりの値を表示してね」という関数です。
たとえば、以下のように使います。
=IFERROR(VLOOKUP(A2, 商品一覧!A:C, 2, FALSE), "")
この場合、検索結果がエラーだったら空白("")を表示します。
特に多くのセルにあらかじめ関数を入力しておきたいときなどに、#N/Aを出さずに空白にすることで、表がスッキリ見やすくなります。
空白の代わりに「-」や「未登録」などの文字を入れることもできます。
【応用例】
=IFERROR(IF(A2="営業部","〇",NA()), "")
このように書くと、営業部の場合に〇を表示し、それ以外は#N/Aではなく空白になります。
【参考画像】

IF関数で「#N/Aならば」の書き方
#N/Aエラーを見た目上「未登録」などに置き換えたい。
そんなときに役立つのが、IF関数とISNA関数、またはIFNA関数です。
この章では、それぞれの違いと使い方を比較しながら紹介していきます。
① IF + ISNA を使う場合
IF関数の中に ISNA 関数を入れて、VLOOKUP の結果が #N/A だった場合にのみ「未登録」と表示する方法です。
=IF(ISNA(VLOOKUP(A2, 部署一覧!A:B, 2, FALSE)), "未登録", VLOOKUP(A2, 部署一覧!A:B, 2, FALSE))
ただし、VLOOKUP を2回書く必要があるため、処理がやや重くなりがちです。
② IFNA 関数を使う場合
IFNA 関数は Excel 2013 以降で使える関数で、#N/A にだけ反応して指定の文字列を返します。
=IFNA(VLOOKUP(A2, 部署一覧!A:B, 2, FALSE), "未登録")
IF + ISNA に比べて式が短くて済み、処理も軽いです。
▼実際に比較した画面はこちら

注意点
- IFNAは Excel 2013以降 でしか使えません。古いバージョンでは #NAME? エラーになります。
- 古いExcelを使っている相手とファイル共有する場合は、ISNA + IF構成が安全です。
▼こちらが参照元となる「部署一覧」シート

まとめ:
Excelのバージョンに応じて、IFNA か IF+ISNA を使い分けましょう。
どちらの方法でも、#N/A を「未登録」などの見やすい形に置き換えることができます。
IFERROR関数で#N/Aを隠す
VLOOKUP関数を使ったときに#N/Aが表示されるのはよくあるトラブルです。
これは「検索した値が見つからなかった」ことを表すエラーで、数式自体に致命的なミスがあるわけではありません。
たとえば、以下のような数式を使っているとします。
=VLOOKUP(A2, 商品一覧!A:B, 2, FALSE)
この数式では、A2の値が「商品一覧」シートの1列目に見つからなかった場合、結果として#N/Aが返されます。
実際の例を見てみましょう👇

VLOOKUPで#N/Aになる主な原因
- 検索値が商品一覧に存在しない
- 列番号が間違っている(たとえば3列しかないのに列番号4を指定)
- FALSEを使っているのに完全一致できていない
- データに余分なスペースが入っている(見た目には同じでも内部では異なる)
では、検索対象となる「商品一覧」シートも見てみましょう👇

解決策:
① IFERROR関数でエラーを隠す
=IFERROR(VLOOKUP(A2, 商品一覧!A:B, 2, FALSE), "未登録")
このように書けば、該当データがなくても「未登録」と表示されて見栄えが良くなります。
② 検索値をCLEAN関数やTRIM関数で整える
余分な空白や制御文字を除去すると、正しくマッチできる場合があります。
③ データの存在チェックを事前に行う
MATCH関数やCOUNTIF関数などを使って、データが存在するかどうかを確認してからVLOOKUPを使うという方法も有効です。
記事のまとめ
記事のポイントをまとめます。
NAと#N/Aの基本理解
- N/Aは該当なしの略語
- #N/AはExcelのエラー表示
- 読み方はエヌエー
- ビジネスでも頻繁に使う
#N/Aエラーの主な原因
- 検索値が見つからない
- 列番号の指定ミス
- 完全一致で一致しない
- 余分な空白が含まれる
判定と対処の方法
- IFNAで未登録と表示
- IFERRORで空白に変換
- ISNAで条件判定できる
- 条件付き書式で色付け
知っておきたい補足知識
- 0と#N/Aは意味が違う
- ジャンプ機能で一括選択
- MATCHやCOUNTIFも有効