スプレッドシートで集計がうまくいかないとき、原因が「空白セル」と「ゼロ」の扱いの違いにあることがよくあります。今回は特定の関数の使い方ではなく、多くの関数に共通するこの基礎知識を、草野球の成績管理表を例に整理していきます。
空白セルとゼロの違いとは
見た目には同じ「何も表示されていないセル」でも、スプレッドシート内部では「本当に何も入っていない空白セル」と「数値の0が入っているセル」はまったく別のものとして扱われます。この違いが、AVERAGEなど平均を求める関数の結果に大きく影響します。
この違いを確認する式の一例はこちらです。
=ISBLANK(セル)
ISBLANK関数は、指定したセルが本当に空白かどうかをTRUE/FALSEで返します。ゼロが入力されているセルはFALSEになり、「空白ではない」と判定されます。
成績管理表での実例:欠場試合の扱いで平均が変わる
大阪グーニーズの個人成績シートで、ある選手のシーズン中の打数を記録しているとします。この選手は1試合だけ欠場しました。
| 試合日 | 対戦相手 | 打数 | 安打 |
|---|---|---|---|
| 4/6 | ○○ファイターズ | 4 | 2 |
| 4/13 | △△ベアーズ(欠場) | (空白 または 0) | (空白 または 0) |
| 4/20 | □□イーグルス | 4 | 1 |
この欠場試合の打数欄を「空白のまま」にするか「0を入力」するかで、平均を求める式の結果が変わってしまいます。
=AVERAGE(C2:C4)
欠場試合の打数欄を空白のままにしておけば、AVERAGEはその行を計算に含めず「出場した2試合の平均」を返します。一方、同じ欄に0を入力してしまうと、AVERAGEは「3試合の平均(欠場分もゼロとしてカウント)」を返すため、数値が小さくなってしまいます。
個人成績シートで、その選手が欠場した試合の打数・安打の欄に何が入力されているか(空白か、0か)を確認します。
欠場試合は打数・安打の欄に0を入力せず、セルを空白のまま残します。誤って0を入力してしまった場合は、セルを選択してDeleteキーで削除します。
別のセルに「=ISBLANK(C3)」のような式を入れて確認すると、そのセルが本当に空白なのか、見た目だけ空白に見える0が入っているのかを判別できます。
しくみを理解する:関数はなぜ違う結果を返すのか
同じ範囲を対象にしていても、関数によって「空白」と「ゼロ」の扱い方が異なります。
- SUM:空白もゼロも合計には影響しない(どちらも足しても0なので結果は同じ)
- COUNT:空白は数えないが、ゼロは「数値」なので数える
- COUNTA:空白は数えないが、ゼロは「空白でないセル」として数える
- AVERAGE:割り算の分母となる件数に、空白は含めないがゼロは含める。ここが「平均が変わる」原因
つまりAVERAGEは内部的に「合計÷件数」という計算をしていますが、その「件数」を数えるときに、空白セルは無視される一方でゼロが入ったセルはしっかり1件としてカウントされてしまう、というのが仕組みの核心です。
よくあるミス:欠場を「0」で埋めてしまう
「欄を埋めておいた方が入力漏れに見えない」という理由で、欠場試合の打数欄に0を入力してしまうケースがあります。見た目は整いますが、AVERAGEなどの平均計算では欠場試合まで「打数0の試合」としてカウントされてしまい、実際より低い平均が表示されてしまいます。
- 空白セルとゼロは、見た目が似ていても内部的にはまったく別の扱い
- SUMやCOUNTAは結果に差が出にくいが、AVERAGEは件数の数え方に差が出る
- 欠場試合など「実績が存在しない」行は、0を入力せず空白のまま残すのが基本
次回予告
次回のテーマは「SUMIF関数」です。条件に一致する行だけを合算するしくみを、特定投手の自責点合計を例に解説していきます。
▶︎ 次回:SUMIF関数の使い方としくみ


コメント