業務効率化

【初心者向け】数式入りでも空白を除外!Excel・スプレッドシートで“見た目が空じゃない”セルを数える方法5選

スポンサーリンク

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 + COUNTAExcel365・スプレッドシート知識レストの最適解
SUMPRODUCT + LEN全Excel中級者以上も多用
ARRAYFORMULA + LENGoogleスプレッドG限定でも有効
SUMPRODUCT + TRIM全Excelスペース含む空白の比較に
ROWS – COUNTBLANK全Excel簡単だが場合を選ぶ

⭐注意:COUNTIF(C2:C6,"<>")は不正確

=COUNTIF(C2:C6,"<>")

これは数式入りセルも実際の表示に関係なくカウントしてしまうため、本記事の目的には適しません。

タイトルとURLをコピーしました