Excelで売上や点数を合計しようとしたら、表のどこかに「#N/A」エラーが混じっていて、SUM関数の結果まで「#N/A」になってしまった——これはよくあるつまずきです。SUMはエラーをそのまま巻き込んで計算を止めてしまうためです。この記事では、Office 2019・Microsoft 365 の Excel で、#N/Aエラーを無視して正しい合計を出す3つの方法を、実際の数式と結果の画面付きで解説します。
なぜ普通のSUMだと合計できないのか
SUM関数は、範囲の中に1つでもエラー値があると、合計結果もそのエラーになります。たとえば A1:A5 に「10/#N/A/20/#N/A/30」と並んでいると、=SUM(A1:A5) の結果は正しい合計60ではなく「#N/A」になってしまいます。そこで、エラーを除いて計算する書き方に変えます。
3つの解決方法(いずれも正しい合計60を返します)
下の表は、A1:A5 に「10・#N/A・20・#N/A・30」が入っている場合の例です。3つとも結果は同じ60になります。お使いの状況に合わせて選んでください。
| 方法 | 数式(A1:A5が対象の例) | 結果 | 特徴 |
|---|---|---|---|
| AGGREGATE関数 | =AGGREGATE(9,6,A1:A5) |
60 | いちばんおすすめ。普通の数式として確定(Enter)でOK |
| SUMIF関数 | =SUMIF(A1:A5,"<>#N/A") |
60 | #N/Aだけを除外したいとき向き |
| SUM+IFERROR | =SUM(IFERROR(A1:A5,0)) |
60 | あらゆる種類のエラーを0扱いで除外 |
方法1:AGGREGATE関数(おすすめ)
=AGGREGATE(9,6,A1:A5) と入力します。最初の「9」は「合計を求める」という意味、次の「6」は「エラー値を無視する」という意味です。エラーを自動的にとばして合計してくれるので、いちばん手軽で確実です。Office 2019 でもそのまま使えます。
- 合計を表示したいセル(例:C1)をクリックします。
=AGGREGATE(9,6,A1:A5)と入力して Enter を押します。- #N/Aを除いた合計「60」が表示されます。

方法2:SUMIF関数(#N/Aだけを除外)
=SUMIF(A1:A5,"<>#N/A") と入力します。「<>#N/A」は「#N/A以外」という条件で、#N/A以外の数値だけを合計します。#N/A以外のエラー(#DIV/0! など)は除外できない点に注意してください。#N/Aだけが混じる表に向いています。

方法3:SUMとIFERRORの組み合わせ(あらゆるエラーに対応)
=SUM(IFERROR(A1:A5,0)) と入力します。IFERRORが、エラーのセルをすべて0に置き換えてからSUMが合計するしくみです。#N/Aに限らず、どんなエラーでも0として無視できるのが強みです。Office 2019 では入力後に Ctrl+Shift+Enter で確定する「配列数式」として使ってください(Microsoft 365 では Enter だけでも動きます)。

よくある質問
Q1. #N/Aだけでなく空白セルも無視したいときは。
AGGREGATE関数(方法1)はもともと空白セルを計算に入れないので、そのまま使えます。SUMIFで明示的に空白も除外したい場合は =SUMIFS(A1:A5,A1:A5,"<>#N/A",A1:A5,"<>") と書くと、#N/Aと空白の両方を除けます。
Q2. 合計以外(平均・最大・最小など)でもエラーを無視できますか。
できます。AGGREGATEの最初の数字を変えるだけです。平均は「1」、最大は「4」、最小は「5」、件数は「2」です。たとえば =AGGREGATE(1,6,A1:A5) なら、エラーを無視した平均が求められます。
Q3. そもそも#N/Aを出さないようにできますか。
#N/Aの多くはVLOOKUPなどの検索が一致しなかったときに出ます。元の数式を =IFERROR(VLOOKUP(...),0) のように IFERROR で包んでおけば、見つからないときに0(や空白)を返すようにでき、合計側で対処する手間が減ります。
最終確認日:2026年6月(Office 2019 / Microsoft 365 の Excel で動作確認済み)



コメント