ExcelでSUM関数を使っていると、まだデータを入力していない行でも合計欄に「0」が表示されてしまいますよね。
見た目の問題だけでなく、印刷時にもゼロが並ぶため、なんとかしたいと感じている方は多いのではないでしょうか。
この記事では、SUM関数の合計欄でゼロを非表示にする3つの方法を紹介します。
それぞれに向き・不向きがあるので、以下の比較表で概要を確認してから読み進めてみてください。
| 方法 | 空白セル | “”セル(VLOOKUP等) | 値の相殺で0 | 評価 |
|---|---|---|---|---|
| COUNTBLANK+IF | ✓ 非表示 | ✓ 非表示 | ✓ 0を表示 | ◎ おすすめ |
| ISBLANK+IF | ✓ 非表示 | ✗ 0が出る | ✓ 0を表示 | △ 制約あり |
| 書式設定 | ✓ 非表示 | ✓ 非表示 | ✗ 非表示 | △ 制約あり |
【解決】COUNTBLANK関数とSUM関数を組み合わせる
もっとも汎用性が高いのが、COUNTBLANK関数を使った方法です。
「全セルが未入力のときだけ」ゼロを非表示にできるため、意味のあるゼロ(値の相殺など)はきちんと表示されます。
数式の書き方
B2〜B5がすべて空白なら空欄を返し、1つでもデータがあればSUMの結果を表示する数式です。
数式の解説
この数式は、IF関数の条件部分にCOUNTBLANK関数を使っています。それぞれの役割を確認してみましょう。
- COUNTBLANK(B2:B5):範囲内の「空白セル」の数を返す
- ROWS(B2:B5):範囲の行数(この場合は4)を返す
- 両者が一致 → 全セルが空白 → “”(空欄)を表示
- 一致しない → データがある → SUM(B2:B5)の結果を表示
ポイントは、COUNTBLANK関数が「完全に空のセル」だけでなく「空文字(””)を含むセル」も空白としてカウントする点にあります。この仕様が、次に説明するVLOOKUPとの相性の良さにつながっています。
なお、ROWS関数を使うことで範囲の行数を自動取得しているため、集計範囲を広げても数式を修正する必要がありません。
行数をハードコーディング(=4など)するよりも安全でしょう。
VLOOKUP関数で数値を参照する場合も有効
実務では、VLOOKUPで別シートから数値を引っ張ってきて、それをSUMで合計するケースがよくあります。
参照先のセルが空白のとき、VLOOKUPはそのまま「0」を返してしまいます。これを避けるため、IF関数と組み合わせて空文字を返すように書くのが一般的な対処法。
例:=IF(参照先=””,””,VLOOKUP(…))
この場合、セルの中身は空文字(””)になります。ここがCOUNTBLANK関数の強みを発揮するところ。
VLOOKUPのエラーや「0」表示でお困りの場合は、こちらの記事も参考になるかもしれません。▶ VLOOKUPエラーの原因と直し方|#N/A・結果が0・コピーでズレる対処法
ISBLANK関数とSUM関数を組み合わせる
ISBLANK関数でも同様のことができますが、いくつかの制約があります。
手入力のデータだけを扱う場面なら問題なく使えるものの、VLOOKUPとの併用には向いていません。
数式の書き方
AND関数で全セルのISBLANK結果をまとめ、すべてTRUEのときだけ空欄を返す構造です。
数式の解説
ISBLANK関数は、指定したセルが「完全に空」かどうかを判定します。COUNTBLANK関数との最大の違いは、範囲指定ができない点。
1セルずつ個別に指定する必要があるため、集計範囲が広いと数式が長くなってしまいます。
たとえばB2〜B20を対象にする場合、ISBLANK関数を19個並べることになるでしょう。数式のメンテナンス性を考えると、COUNTBLANK版のほうが実用的です。
VLOOKUP関数で数値を参照する場合は使えない
ISBLANK関数は「完全な空白」だけをTRUEと判定します。セルに何らかの数式が入っていれば、結果が空文字(””)であってもFALSEを返す仕様です。
つまり、VLOOKUPやIF関数が入ったセルでは、見た目が空欄でもISBLANKは「空白ではない」と判定してしまいます。この場合、合計欄のゼロは非表示にならないため注意が必要です。
VLOOKUPを使う場面では、前述のCOUNTBLANK版を使うようにしてください。
セルの書式設定で表示形式を変更する場合
数式を変更せず、表示だけでゼロを消す方法もあります。セルの書式設定で「ゼロのときは何も表示しない」表示形式を指定するやり方です。
表示形式の設定方法
合計セルを選択した状態で、以下の手順で設定します。
- Ctrl + 1 でセルの書式設定を開く
- 「表示形式」タブ →「ユーザー定義」を選択
- 「種類」の入力欄に 0;-0;; と入力する
- 「OK」で閉じる
セミコロン(;)で区切られた3番目のセクションが「ゼロの表示形式」です。
ここを空にしておくと、値が0のときに何も表示されなくなります。桁区切りが必要な場合は #,##0;-#,##0;; と指定すれば対応可能です。
あらゆるゼロが非表示になる制約
この方法は手軽ですが、大きな注意点があります。「全セルが空白だから0」だけでなく、「+5と-5が相殺して0」のような意味のあるゼロも非表示になる点です。
セルの値はあくまで0のままなので、他のセルから参照した場合は0として計算されます。しかし、表示上は空欄に見えるため、ゼロなのか未入力なのか区別がつかなくなるリスクがあるでしょう。
「とにかくゼロを見せたくない」場合には便利ですが、合計0が業務上意味をもつシートでは、COUNTBLANK版の数式を使うほうが安全です。
Q&A【よくある疑問まとめ】
▶ Excel SUMIFが計算されない・0になる原因と直し方【完全解説】
まとめ
この記事では、ExcelのSUM関数で合計が0のときに非表示にする3つの方法を紹介しました。
- COUNTBLANK+IF:全セルが空白のときだけゼロを非表示にする。VLOOKUPとの併用にも対応しており、もっともおすすめの方法
- ISBLANK+IF:手入力データだけの場面で使える。ただしセルを個別に指定する必要があり、VLOOKUPには非対応
- セルの書式設定:数式の変更が不要で手軽。ただし、値の相殺による0も含めてあらゆるゼロが非表示になる
迷ったときはCOUNTBLANK版を選んでおけば、ほとんどのケースに対応できるはずです。
=IF(COUNTBLANK(B2:B5)=ROWS(B2:B5),””,SUM(B2:B5))
上記の数式をコピーして、合計セルに貼り付けてみてください。範囲(B2:B5)を自分のシートに合わせて変更すれば、すぐに使えます。
数式が反映されないときは、こちらの記事もあわせて確認してみてください。