Sheet基本
COUNT・COUNTA・COUNTBLANK 完全ガイド
COUNT・COUNTA・COUNTBLANK 完全ガイド
データの件数を正確に把握する
「何件入力されているか」「空白は何件か」を正確に数える。COUNT/COUNTA/COUNTBLANKの違いを理解して、データ品質チェックと入力管理に活用する。
GASとの関係:array.filter() の結果の .length
GASで data.filter(r => r[0] !== "").length と書く処理は COUNTA に対応します。条件付きカウントは filter() で条件を絞ってから length を見る形です。
目次
COUNT系関数の基本的な違い
| 関数 | カウント対象 | 使用例 |
|---|---|---|
| COUNT | 数値のみ(テキスト・空白は除外) | 売上金額が入力されている行数 |
| COUNTA | 空白以外すべて(テキスト・数値・日付・エラー値) | 何らかのデータが入力されている行数 |
| COUNTBLANK | 空白セルのみ | 未入力の行数 |
基本的な使い方
=COUNT(A2:A100) // 数値セルの件数
=COUNTA(A2:A100) // 空白以外の件数(入力済み件数)
=COUNTBLANK(A2:A100) // 空白件数(未入力件数)
// 全件数に対する入力率
=COUNTA(A2:A100)/ROWS(A2:A100) // → 0.85 など(85%)
=TEXT(COUNTA(A2:A100)/ROWS(A2:A100),"0.0%") // → "85.0%"
COUNT vs COUNTA — どちらを使うべきか
// 数値データ(売上額・点数)の件数を数える → COUNT
=COUNT(C2:C100) // 数値のみカウント。"未集計"などテキストは除外
// 名前・コード・テキストを含む行数を数える → COUNTA
=COUNTA(A2:A100) // 文字列も含めてカウント
// 日付の入力件数 → COUNT(日付は数値として扱われるためCOUNTで可)
=COUNT(B2:B100) // 日付セルの件数
実務でよく使うパターン
パターン1:データ入力チェックダッシュボード
// 全行数・入力済み・未入力をまとめて集計
// A列が名前列として
全行数: =ROWS(A2:A100)
入力済み: =COUNTA(A2:A100)
未入力: =COUNTBLANK(A2:A100)
入力率: =TEXT(COUNTA(A2:A100)/ROWS(A2:A100),"0%")
パターン2:最終行の自動検知
// A列のデータが何行目まであるか(データ最終行)
=COUNTA(A:A) // ヘッダーを含む件数
// 実データの行数(ヘッダーを除く)
=COUNTA(A2:A) // A2以降の入力済み件数
パターン3:数値と文字列が混在する列の確認
// A列の全入力件数
全件: =COUNTA(A2:A100)
// うち数値件数(残りが文字列・テキスト)
数値: =COUNT(A2:A100)
// テキストの件数(差分)
テキスト: =COUNTA(A2:A100) - COUNT(A2:A100)
パターン4:ARRAYFORMULAとの組み合わせ
// B列の各行まで(A2:A2, A2:A3, A2:A4...)の累積件数を返す
=ARRAYFORMULA(MMULT(IF(A2:A100<>"",1,0)*ROW(A2:A100)^0, IF(ROW(A2:A100)^0, 1, 0)))
この知識をGASで活かす
GASでシートのデータ件数を確認するとき、sheet.getLastRow() は全行数を返しますが、空白行も含みます。COUNTAの「空白以外を数える」発想でfilter()を使う方が正確な件数を得られます。
Free Newsletter
AIを業務に活かしたいなら
SMR-Labメルマガ
毎週火曜10時、コピペで使えるChatGPTプロンプト・
GASテンプレートをお届け。登録は1分・完全無料。

