COUNTA関数の使い方|入力済みのセルを数える

執筆者:

カテゴリ:

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 を使う

関連する関数

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です