Excel 解説

EXCELでNA判定が出る理由と正しい消し方|初心者にもやさしく解説

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 が表示されることがあります。

これは、VLOOKUPIF関数などと関係があります。

Q:ビジネスではどんな使い方をしますか?

A:主に「記載が必要だが該当しない」項目に使われます。

たとえば、取引先情報やアンケートの記入欄などに、空欄のままだと記入漏れと誤解される場面で使用されます。

以下は、Excelで「営業部のみ〇を表示、それ以外は#N/A」とする関数のサンプルです。

【参考画像】

Excelサンプル:#N/A判定式

#N/Aエラーの原因は?

#N/Aエラーは、検索した値が見つからないときに表示されるエラーです。

「データが存在しない」ことを知らせるExcel特有のサインと考えてください。

特にVLOOKUPMATCHXLOOKUPなどの検索関数でよく発生します。

該当するデータが検索範囲に存在しない場合、Excelは「ないよ」と言って#N/Aを返します。

VLOOKUP関数でよくある原因はこの3つ

  • 検索対象の値がそもそも存在しない
  • 検索範囲にミスがある(列範囲がずれている など)
  • 近似一致モード(TRUE)で誤ったマッチングが発生している

例:=VLOOKUP(A2, 商品一覧!A:B, 2, FALSE) のような数式では、

「A2の値が、商品一覧のA列に見つからなければ #N/A になる」仕組みです。

注意: 商品一覧表の先頭列(ここではA列)に対象の値が存在しなければ、結果は#N/Aになります。

また、列番号が誤っていると別の列を参照しようとしてエラーになります。

MATCH関数やXLOOKUPでも同様に発生します。

特にセル参照を使っている場合は、スペースや全角/半角の違いに注意が必要です。

【参考画像】

VLOOKUPで#N/Aが出る原因の例

#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の発生を防ぐことができます。

【参考画像】

#N/Aと0の違いを示すExcel画面

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を使うという方法も有効です。

【参考画像】

VLOOKUPの#N/Aエラーと対処法の例

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セルをジャンプ機能で一括選択している状態

条件付き書式で#N/Aを目立たせる方法

  • B列など対象列を選択(例:B2:B11)
  • 条件付き書式 → 「新しいルール」→「数式を使用して…」
  • =ISNA(B2) を入力し、塗りつぶしを赤に設定

▼条件付き書式で#N/Aだけが赤く表示された例

#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ではなく空白になります。

【参考画像】

Excel関数で#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関数とISNA関数で処理したVLOOKUPの比較画面

注意点

  • 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が返されます。

実際の例を見てみましょう👇

検索結果シートの例。IFERRORを使って一部空白化している

VLOOKUPで#N/Aになる主な原因

  • 検索値が商品一覧に存在しない
  • 列番号が間違っている(たとえば3列しかないのに列番号4を指定)
  • FALSEを使っているのに完全一致できていない
  • データに余分なスペースが入っている(見た目には同じでも内部では異なる)

では、検索対象となる「商品一覧」シートも見てみましょう👇

VLOOKUPの参照元となる商品一覧シート

解決策:

① 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も有効

合わせて読みたい

以下の記事も合わせてお読みください。

内部リンク

EXCEL のIF関数を使って特定の文字を含むかどうかを見分ける方法と注意点

外部リンク

ERROR.TYPE 関数

-Excel 解説