ExcelやGoogleスプレッドシートで表を作っていると、 「数式が入っているのに空白に見えるセル」に出会うことはありませんか?
そんなとき、「空白以外のセルの件数」を正しくカウントしたいのに、 =COUNTA()
や =COUNTIF()
だけではうまくいかない…という経験、あると思います。
この記事では、見た目が空白でないセルだけを数えるための方法を、初心者の方にもわかりやすく解説します。
⭐よくある悩み:「空白じゃない」のにカウントされる?
例として、C2:C6に「=IF(B2>=0.3,”◎”,IF(B2>=0.25,”○”,””))」のような数式が入っているとします。

これらは数式が入っていても表示上は空白に見えます。
この場合、=COUNTA(C2:C6)
などでは、本来数えたくないセルもカウントされてしまいます。
⭐正しく数えるための5つの方法
1. =COUNTA(FILTER(C2:C6, C2:C6<>""))
【おすすめ度:★★★★★(わかりやすく簡単)】
=COUNTA(FILTER(C2:C6, C2:C6<>""))
FILTER
で “” 以外を抽出してCOUNTA
で件数を数えます- Excel365/スプレッドシートで利用可
▶️関数リンク:
2. =SUMPRODUCT(--(LEN(C2:C6)>0))
【おすすめ度:★★★★★(広範囲に対応)】
=SUMPRODUCT(--(LEN(C2:C6)>0))
LEN()
で文字数を計算,0より大きければカウント
▶️関数リンク:
3. =ARRAYFORMULA(SUM(N(LEN(C2:C6)>0)))
【おすすめ度:★★★★(Googleスプレッドシート用)】
=ARRAYFORMULA(SUM(N(LEN(C2:C6)>0)))
- Googleスプレッドシートの特有関数
▶️関数リンク:
4. =SUMPRODUCT(--(TRIM(C2:C6)<>""))
【おすすめ度:★★★★(空白トリミング対応)】
=SUMPRODUCT(--(TRIM(C2:C6)<>""))
TRIM
で前後の空白を削除して比較
▶️関数リンク:
5. =ROWS(C2:C6) - COUNTBLANK(C2:C6)
【おすすめ度:★★★(簡単だが記述に注意)】
=ROWS(C2:C6) - COUNTBLANK(C2:C6)
- 行数 – 空白で件数を計算
""
という空文字も空白として扱われる点に注意
▶️関数リンク:
⭐まとめ
方法 | 対応環境 | 正確性 | コメント |
FILTER + COUNTA | Excel365・スプレッドシート | ○ | 知識レストの最適解 |
SUMPRODUCT + LEN | 全Excel | ○ | 中級者以上も多用 |
ARRAYFORMULA + LEN | Googleスプレッド | ○ | G限定でも有効 |
SUMPRODUCT + TRIM | 全Excel | △ | スペース含む空白の比較に |
ROWS – COUNTBLANK | 全Excel | △ | 簡単だが場合を選ぶ |
⭐注意:COUNTIF(C2:C6,"<>")は不正確
=COUNTIF(C2:C6,"<>")
これは数式入りセルも実際の表示に関係なくカウントしてしまうため、本記事の目的には適しません。