- 更新日 : 2026年3月18日
NA関数の使い方:意図的にエラー値を生成してデータ処理を制御する方法
NA関数は、#N/Aエラー値を返すエクセルの情報関数です。一見すると単純な機能ですが、グラフ作成時の空白データの処理、VLOOKUP関数との組み合わせ、条件付きエラー表示など、データ分析やレポート作成において使われます。
意図的にエラーを生成することで、データの欠損を明示したり、計算の流れを制御したりできます。本記事では、NA関数の基本的な使い方から実践的な活用法まで、具体例を交えて解説します。
目次
NA関数の基本的な使い方
NA関数とは
NA関数は「Not Available(利用不可)」を意味する#N/Aエラーを返す関数です。このエラーは「該当なし」や「データなし」を表現する際に使用され、他のエラー(#DIV/0!や#VALUE!など)とは異なる特別な意味を持ちます。
データ分析において、空白セルや0(ゼロ)とは異なる「データが存在しない」状態を明示的に示すことができ、後続の処理やグラフ表示で他の値と区別されて扱われます。特にグラフでは、#N/A のデータ点は描画されず線が途切れるため、欠損箇所に意図的なギャップを作れます。空白セルは[非表示および空白セルの設定]で「線で結ぶ」を選べば補間できますが、#N/A は補間されません。
基本構文
NA関数の構文は非常にシンプルです。
=NA( )
引数は不要で、常に#N/Aエラー値を返します。このシンプルさにより、条件付き処理にも適しています。
基本的な使用例
単純な使用例:
=NA( )
結果:#N/A
条件付きでの使用:
=IF(A1=””, NA(), A1*2)
A1が空白の場合は#N/A、それ以外は2倍の値を返します。
データ検証での使用:
=IF(売上<0, NA(), 売上)
負の売上(異常値)を#N/Aとして処理します。
NA関数の利用シーン
グラフ作成での活用
NA関数の最も一般的な用途は、グラフ作成時のデータ処理です。空白セルや0値とは異なり、#N/A値はグラフ上で特別に扱われます。
折れ線グラフでのギャップ表示(欠損の明示)
月次売上データで一部の月のデータが欠損している場合:
売上データの処理:
=IF(ISBLANK(B2), NA(), B2)
この処理により、欠損している月のデータ点は描画されず線は途切れます(ギャップ表示)。0 を入れると線が 0 まで落ちますが、#N/A なら欠損箇所に意図的なギャップを作れます。前後の値を線で結びたい場合は、セルを空白にしたうえで[非表示および空白セルの設定]で「線で結ぶ」を選択してください(#N/A は補間されません)。
条件付きグラフ表示
特定の条件を満たさないデータをグラフから除外:
閾値以上のみ表示:
=IF(売上>=目標値, 売上, NA())
期間限定表示::
=IF(AND(日付>=開始日, 日付<=終了日), 値, NA())
データ検証とクリーニング
データの完全性をチェックし、問題のあるデータを識別する際に使用します。
必須項目のチェック
すべての必須項目が入力されているか確認:
=IF(OR(ISBLANK(氏名), ISBLANK(メール), ISBLANK(電話)), NA(), “完了”)
数値の妥当性チェック:
=IF(OR(年齢<0, 年齢>150), NA(), 年齢)
データ型の検証
日付データの検証:
=IF(ISNUMBER(日付セル), 日付セル, NA())
数値データの検証:
=IF(ISNUMBER(VALUE(データ)), データ, NA())
NA関数の応用・他関数との組み合わせ
VLOOKUP関数との組み合わせ
検索結果が見つからない場合のエラー処理で、NA関数が活用されます。
エラーの明示的な処理
基本的なVLOOKUP:
=VLOOKUP(検索値, 範囲, 列番号, FALSE)
エラー時にメッセージ表示:
=IFERROR(VLOOKUP(検索値, 範囲, 列番号, FALSE), “データなし”)
意図的にNA()を返す:
=IF(COUNTIF(検索範囲, 検索値)=0, NA(), VLOOKUP(検索値, 範囲, 列番号, FALSE))
複数の検索結果の統合
複数テーブルからの検索:
=IFERROR(VLOOKUP(ID, テーブル1, 2, FALSE),
IFERROR(VLOOKUP(ID, テーブル2, 2, FALSE), NA()))
集計関数での挙動
NA関数が返す#N/A値は、各集計関数で異なる扱いを受けます。
各関数での#N/Aの扱い
SUM関数:#N/A を含むと結果は #N/A になります。エラーを無視して合計したい場合は、
=AGGREGATE(9, 6, 範囲) // 9:SUM, 6:エラー値を無視
AVERAGE関数:#N/A を含むと結果はエラーになります。
エラーを無視して平均する例:
=AGGREGATE(1, 6, 範囲) // 1:AVERAGE, 6:エラー値を無視
COUNT関数:#N/Aをカウントしない
=COUNT(A1:A10) // 数値のみカウント
MAX/MIN関数:#N/A を含むと結果はエラーになります。
エラーを無視して求める例:
=AGGREGATE(4, 6, 範囲) // 4:MAX
=AGGREGATE(5, 6, 範囲) // 5:MIN
AGGREGATE関数での活用
エラーを無視した集計:
=AGGREGATE(1, 6, 範囲) // 1:AVERAGE, 6:エラー値を無視
条件付き書式との連携
#N/A値を視覚的に識別しやすくする方法です。
エラーセルの強調表示
条件付き書式の設定:
=ISNA(A1)
書式:背景色を黄色に設定
複合条件:
=AND(ISNA(A1), B1=”重要”)
書式:背景色を赤に設定
動的な配列処理
Excel 365の動的配列機能と組み合わせた使用方法です。
FILTER関数との組み合わせ
有効なデータのみ抽出:
=FILTER(データ範囲, NOT(ISNA(データ範囲)))
条件に合わない場合はNA:
=FILTER(データ, 条件, NA())
(代替)=IFERROR(FILTER(データ, 条件), NA())
NA関数のよくある活用例と注意点
エラーの種類と使い分け
エクセルには複数のエラータイプがあり、適切に使い分けることが重要です。
#N/A:データが存在しない、該当なし
#DIV/0!:ゼロ除算エラー
#VALUE!:データ型の不一致
#REF!:参照エラー
#NAME?:関数名や範囲名の誤り
NA関数は#N/Aのみを生成し、「データなし」を明示的に表現する場合に使用します。
ISNA関数での判定
#N/A値を判定する専用の関数と組み合わせて使用します。
基本的な判定:
=ISNA(A1) // #N/AならばTRUE
条件分岐での使用:
=IF(ISNA(VLOOKUP(…)), “検索結果なし”, VLOOKUP(…))
カウント:
=SUMPRODUCT(–ISNA(範囲)) // #N/Aの個数
よくある間違いと対策
テキストとしての”#N/A”との混同
誤:=”#N/A” // テキスト文字列
正:=NA() // エラー値
判定方法:
=ISNA(A1) // エラー値の場合TRUE
=A1=”#N/A” // テキストの場合TRUE
他のエラー関数との使い分け
データなし:=NA()
計算不能:=1/0 // #DIV/0!を生成
型エラー:=”a”*1 // #VALUE! を生成(数値化できない文字列を数値演算)
(例)=VALUE(“abc”) や =DATEVALUE(“2025/13/01”) でも #VALUE! を生成します。
NA関数は、データがないことを示す関数
NA関数は、意図的に#N/Aエラーを返すことで「データが存在しない」状態を示すことができる、実務に役立つ情報関数です。特にグラフ作成時には、#N/A を使うことで欠損箇所をギャップ(線を途切れさせる)として明示できます。前後の点を線で結びたい場合はセルを空白にし、[非表示および空白セルの設定]で「線で結ぶ」を選択します(#N/A は結ばれません)。
SUM や AVERAGE は #N/A を含むとエラーになります。#N/A を無視して集計したい場合は、たとえば
- 合計:=AGGREGATE(9,6,範囲)(9:SUM, 6:エラー無視)
- 平均:=AGGREGATE(1,6,範囲)(1:AVERAGE, 6:エラー無視)
- あるいは =SUM(IFNA(範囲,0)) や =AVERAGE(IF(ISNUMBER(範囲),範囲))(配列数式)
といった方法を用いてください。
さらに、条件付き書式やISNA関数との組み合わせにより、可視的なエラーチェックや動的処理も行えます。
シンプルな構文でありながら、エラー処理とデータ可視化の橋渡し役として活躍するNA関数。グラフやレポートで「空白」や「ゼロ」とは異なる意味合いをもたせたい場面で、ぜひ積極的に活用しましょう。
システム乱立を解消するためのステップとは?
多くの企業がバックオフィス業務効率化のため多様なクラウドシステムを導入するも、「便利なはずが非効率」という現実に直面しています。
その原因は、勤怠や経費など「部分最適」なシステム導入による乱立です。システム同士がつながらず、データの手入力やExcelでの突き合わせ作業が常態化。
これは「見えないコスト」を増やし、業務フローを複雑化させ、現場の負担を増大させます。システム乱立のリスクを整理し、業務アセスメントによる根本解決策をご紹介するホワイトペーパーを用意していますので、ぜひお気軽にご覧ください。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関数 情報・判定の関連記事
新着記事
-
# 業務効率化の基本
クラウドのメリット・デメリットは?主要サービスやオンプレミスとの比較表をもとに解説
クラウドのメリット・デメリットは? クラウドは、初期費用を抑えて迅速な導入や拡張ができる点が大きなメリットですが、ネット環境への依存や長期的なコスト増といったデメリットも伴います。…
詳しくみる -
# 業務効率化の基本
社外へのファイル共有を安全に行う方法は?リスクやツール選びのポイントを徹底解説
社外へのファイル共有を安全に行う方法は? 社外へのファイル共有は、機密保持のためクラウドストレージ等の専用ツールを活用し、適切な権限管理と期限設定のもとで行うべき重要な業務プロセス…
詳しくみる -
# 業務効率化の基本
マニュアルの種類は?業務・規範・安全管理など目的別に作成する方法を解説
マニュアルの種類は? マニュアルの種類は、活用目的や対象読者に応じて「業務」「操作」「規範」「教育・訓練」「作業」「製品」「安全・危機管理」の7つに大別されます。 業務・操作: 全…
詳しくみる -
# メモ
Windowsのメモ帳で文字を検索するには?文字列を置換・ファイルを横断検索する方法も解説
Windowsのメモ帳で文字を検索するには? Windowsのメモ帳で文字を検索するには、ショートカットキー「Ctrl + F」を使用するのが効率的です。 検索・置換:Ctrl +…
詳しくみる -
# 業務効率化の基本
ノウハウを蓄積するには?組織の知識を資産に変える方法・仕組みづくり・ツール選びを解説
ノウハウの蓄積方法まとめ ノウハウの蓄積とは、個人の経験や技術(暗黙知)を文書や動画などの形式知へ変換し、組織全体で共有・再利用できる資産に変えるプロセスです。 属人化の解消: 担…
詳しくみる -
# ツール
チャットが苦手だと感じる理由は?原因・特徴・克服するためのコツを徹底解説
チャットが苦手だと感じる理由は? チャットが苦手な主な理由は、即時返信へのプレッシャーや感情が伝わりにくい不安にあり、無理に速度を追わず運用ルールを整えることが克服の鍵です。 脱・…
詳しくみる
