- 作成日 : 2025年8月25日
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関数。グラフやレポートで「空白」や「ゼロ」とは異なる意味合いをもたせたい場面で、ぜひ積極的に活用しましょう。
この記事をお読みの方におすすめのガイド5選【部署別紹介】
最後に、この記事をお読みの方によく活用いただいている人気の資料・ガイドを紹介します。すべて無料ですので、ぜひお気軽にご活用ください。
経理担当者向け
①Excel関数集 32選まとめブック
経理担当者の方をはじめ、ビジネスパーソンが知っておきたい便利なExcel関数集を初級~上級までギュッと網羅。新人社員の研修用などにもお使いいただけます。Google スプレッドシートならではの関数もご紹介しています。
②勘定科目・仕訳辞典(税理士監修)
勘定科目・仕訳に関する基本知識、および各勘定科目の仕訳例を具体的かつ網羅的にまとめた、50ページを超えるガイドを無料で提供しております。お手元における保存版としてでだけでなく、従業員への印刷・配布用としてもぜひご活用ください。
人事労務担当者向け
①入社・退職・異動の手続きガイドブック
書類の回収・作成・提出など手間のかかる入社・退職・異動(昇給・昇格、転勤)の手続き。
最新の制度をもとに、よくある質問やチェックポイントを交えながら、各手続きに必要な情報をまとめた人気のガイドですす。
②社会保険・労働保険の手続きガイド
企業において社会保険および労働保険の加入・喪失手続きは必ず発生し、手続きを誤れば保険事故が発生した際に従業員が不利益を被る可能性があります。
各保険の基本的な手続き方法を入社・退職・異動のシーン別にギュッとまとめた分かりやすいガイドです。
総務・法務担当者向け
契約書ひな形まとめ30選
業務委託契約書や工事請負契約書…など各種契約書や、誓約書、念書・覚書、承諾書・通知書…など、使用頻度の高い30個のテンプレートをまとめた、無料で使えるひな形パックです。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
スプレッドシートの承認機能とは?ワークフロー構築と承認プロセスの自動化方法
スプレッドシートで承認機能を実装することで、申請から承認までのワークフローを効率的に管理できます。本記事では、Googleスプレッドシートを使った承認システムの構築方法から、承認フローの設計、Google Apps Script(GAS)に…
詳しくみるTODAY関数の使い方を応用までわかりやすく解説
Excelにおいて、TODAY関数は現在の日付を取得するための非常に便利なツールです。この関数を活用することで、日付計算やデータ管理が効率化されます。本記事では、TODAY関数の基本的な使い方から、和暦の表示や翌日の日付の取得、曜日の表示、…
詳しくみるスプレッドシートを更新するには?手動・自動更新の方法から更新できない時の対処法まで解説
Googleスプレッドシートはネットワーク上で動作するため、基本的には自動的に保存・更新され、複数人で同時に編集しても常に最新の状態が反映されます。しかし、外部データの取得や関数の再計算、ピボットやグラフの表示などでは、手動での更新操作が必…
詳しくみるCOTH関数の使い方:双曲線余接を計算する方法
COTH関数は、双曲線余接(ハイパボリックコタンジェント)を計算する数学関数です。工学計算での伝熱解析、電気回路の伝送線理論、流体力学のモデリングなど、高度な科学技術計算で使用されます。 例えば、熱交換器の効率計算や、長い伝送線路での信号減…
詳しくみるMONTH関数の使い方や利用シーンを簡単に解説
ExcelやGoogleスプレッドシートを使用する際、DATE関数によって扱われる日付データから月を抽出することができる「MONTH関数」は非常に便利です。本記事では、MONTH関数の基本的な使い方や具体的な利用シーンを紹介します。この関数…
詳しくみるエクセルで平均を出す方法の基本と応用
エクセルを使用することで、数値データの平均を簡単に求めることができます。基本的な平均の算出方法から、離れたセルや異なるシートを参照した平均値の計算、更にはゼロを除外して平均を求めるテクニックまで、幅広く解説していきます。それぞれの手法を理解…
詳しくみる



