COUNTAは、空欄でないセルの個数を数える関数です。
数値だけを数える COUNT と違い、文字列も日付も数えます。 「入力済みの行数を数えたい」という最も多い用途では、こちらが正解です。
書式
=COUNTA(範囲1, [範囲2], ...)
COUNTとの違い
| A | |
|---|---|
| 1 | 120 |
| 2 | りんご |
| 3 | (空欄) |
| 4 | 2026/4/1 |
=COUNT(A1:A4) → 2 (数値と日付のみ)
=COUNTA(A1:A4) → 3 (空欄以外すべて)
文字列の列に COUNT を使うと0になります。 「なぜか0になる」という相談の大半がこれです。
数式が返した空文字の落とし穴
これが最も注意すべき点です。
=IF(A2="", "", A2*1.1)
この数式が入ったセルは、見た目は空欄ですが、COUNTAは1件として数えます。
セルには「空文字("")という値」が入っているためで、「何も入っていない」状態とは区別されます。
見た目通りに数える
=COUNTIF(A2:A100, "<>")
COUNTIF のこの書き方なら、数式が返した "" は数えられません。数式が入った列で件数を数えるときは、必ずこちらを使ってください。
厳密に「未入力」を数える
=SUMPRODUCT(--ISBLANK(A2:A100))
ISBLANK は「本当に何も入っていない」かを判定します。数式の入ったセルは FALSE を返します。
実用例
入力済みの行数
=COUNTA(A2:A1000)
見出し行を含めないよう、範囲は2行目から始めてください。
入力漏れの検出
=COUNTA(A2:A100) - COUNTA(B2:B100)
A列は入っているのにB列が空、という件数が分かります。
可変範囲を作る
OFFSET と組み合わせます。
=OFFSET(A2, 0, 0, COUNTA(A2:A1000), 1)
データ量に自動で追従する範囲になります。グラフの参照範囲などに使えます。
ただし途中に空行があると、範囲が実際より短くなります。 連続したデータでのみ使ってください。
最終行を求める
=COUNTA(A:A)
見出しを含むなら1を引きます。空行があると正確でないので、確実にやるなら次の形です。
=MAX(FILTER(ROW(A:A), A:A<>""))
複数条件で数えたいとき
COUNTAには条件を付けられません。COUNTIF / COUNTIFS を使ってください。
=COUNTIF(A:A, "東京")
=COUNTIFS(A:A, "東京", B:B, ">=1000")
重複を除いて数える
=COUNTA(UNIQUE(FILTER(A2:A100, A2:A100<>"")))
UNIQUE で重複を除き、FILTER で空欄を除いてから数えています。
COUNTBLANKとの関係
COUNTBLANK は空欄を数えます。
=COUNTBLANK(A2:A100)
COUNTAとCOUNTBLANKを足しても、全体の件数にならないことがあります。 数式が返した "" を、COUNTAは「あり」、COUNTBLANKは「空欄」として、両方が数えてしまうためです。
合計が合わないときは、この重複を疑ってください。
Excelとの違い
COUNTA・COUNT・COUNTBLANK ともに共通です。書式も挙動も同じで、空文字の扱いも同じです。
まとめ
- – 書式は
=COUNTA(範囲)。空欄以外すべてを数える - – 入力済みの行数を数えるなら COUNT ではなくCOUNTA
- – 数式が返した
""を1件として数えるのが最大の落とし穴 - – 見た目通りに数えるなら
=COUNTIF(範囲, "<>") - – 厳密な未入力は ISBLANK を使う
コメントを残す