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

執筆者:

カテゴリ:

COUNTA関数の使い方・読み方のイメージ

集計

COUNTA関数の使い方・読み方

Excel関数辞典

読み方:COUNTA は「カウントエー」と読みます。(一般的な読み方です。公式に読み仮名の定めはありません)

COUNTAは、空欄でないセルの個数を数える関数です。

使える環境Excel○Googleスプレッドシート○
このページの中身(24項目)
  1. 書式
  2. COUNTとの違い
  3. 数式が返した空文字の落とし穴
  4. 実用例
  5. 複数条件で数えたいとき
  6. 重複を除いて数える
  7. COUNTBLANKとの関係
  8. Excelとの違い
  9. 何を数えるかの定義がすべて
  10. データの終端を求めるという用途
  11. 入力の進捗を把握する
  12. 検算の道具として使う
  13. 入力チェックの仕組みを作る
  14. 数え方を選ぶ判断基準
  15. 件数から異常を検知する
  16. 「集計」の関数を全体から見る
  17. 数式を書く前の手順
  18. どの関数でも共通する確認
  19. 引き継ぐときに残すこと
  20. このサイトの収録状況
  21. よくある質問
  22. この分野の他の記事
  23. まとめ
  24. 関連する関数

この記事の書式と対応環境の出どころ(2026-08-26 確認)

関数の仕様は追加・変更されることがあります。書式が合わないときは、上の公式ページで最新をご確認ください。

数値だけを数える COUNT と違い、文字列も日付も数えます。 「入力済みの行数を数えたい」という最も多い用途では、こちらが正解です。

COUNTA関数の使い方の記事構成図
COUNTA関数の使い方:この記事で扱う内容

書式

=COUNTA(範囲1, [範囲2], ...)

COUNTとの違い

A
1120
2りんご
3(空欄)
42026/4/1
=COUNT(A1:A4)    → 2   (数値と日付のみ)
=COUNTA(A1:A4)   → 3   (空欄以外すべて)

文字列の列に COUNT を使うと0になります

「なぜか0になる」という相談の大半がこれです。

COUNTA関数の使い方の要点図
COUNTA関数の使い方

数式が返した空文字の落とし穴

これが最も注意すべき点です。

=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 ともに共通です。書式も挙動も同じで、空文字の扱いも同じです。


何を数えるかの定義がすべて

件数を数える関数は複数あり、それぞれ数える対象が違います。この違いを理解していないと、件数が合わない理由が分かりません。

空白以外を数える関数は、中身が何であれ、何か入っていれば一件として数えます。数値、文字列、論理値、エラー。すべて対象です。したがって、この関数が返すのは「入力済みのセルの数」です。

数値だけを数える関数は、文字列も論理値もエラーも無視します。返すのは「数値として扱われているセルの数」です。

この二つの差が、そのまま「数値でないものの件数」になります。金額の列で差が出れば、文字列として入っている数字があるということです。この差を見るのが、データの状態を確認するもっとも早い方法です。

さらに厄介なのが、数式が返した空文字です。見た目は空欄ですが、セルには数式が入っています。空白以外を数える関数では一件として数えられ、空白を数える関数では数えられません。目で見た空欄の数と、関数が返す数が食い違う原因は、ほぼこれです。


データの終端を求めるという用途

件数を数える関数のもうひとつの重要な用途が、データがどこまで入っているかを求めることです。

範囲を列全体にして数えれば、その列に何件入力されているかが分かります。見出し行を含めていれば、その分を引きます。この数から、データの最終行が計算できます。

最終行が分かると、範囲を動的に指定できるようになります。行が増えても自動的に追従する集計や、印刷範囲の自動設定に使えます。

ただし、この方法には前提があります。データの途中に空白行がないことです。空白行があると、実際の最終行と件数が一致しません。

途中に空白行がある可能性がある場合は、別の方法を使います。範囲の中で最後に値が入っている位置を求める書き方があり、空白行があっても正しい終端が返ります。

いずれの方法でも、データの持ち方として途中に空白行を作らないのが基本です。空白行は見た目の区切りとして使いたくなりますが、集計や範囲の指定を難しくします。区切りが必要なら、罫線や背景色で表現してください。


入力の進捗を把握する

複数人で入力するシートでは、どこまで埋まっているかを把握したくなります。件数を数える関数で、これを可視化できます。

各列について、入力済みの件数と全体の件数を並べて表示します。差が未入力の件数です。これを表の上部に置いておけば、開いた瞬間に状況が分かります。

さらに、入力率をパーセントで出せば、進捗として直感的に伝わります。

未入力の行を特定したい場合は、条件付き書式で空欄に色を付けます。目で追う必要がなくなります。

必須項目と任意項目がある場合は、必須項目だけを対象に集計してください。任意項目まで含めると、いつまでも百パーセントになりません。

この仕組みは、締切前の確認作業を大きく楽にします。誰かに催促する前に、本当に未入力なのかを自分で確認できます。


検算の道具として使う

件数を数える関数は、集計の正しさを確かめる道具としても有効です。

条件付きの集計表を作ったら、各条件の件数を合計してください。元データの全件数と一致するはずです。一致しなければ、条件が漏れているか、重複して数えられています。

取り込んだデータの件数を、取り込み元の件数と突き合わせる用途にも使えます。途中で欠落していないかが分かります。

数値だけを数えた件数と、空白以外を数えた件数を並べて表示しておけば、型の問題が混入したときに気づけます。

こうした検算の仕組みは、一度作れば以降ずっと機能します。集計表を作るときに、必ず一緒に作る習慣をつけてください。静かに間違ったまま使い続ける事故を防げます。


入力チェックの仕組みを作る

件数を数える関数は、入力状況を監視する仕組みの土台になります。一度作っておけば、以降ずっと機能します。

まず、表の上部に確認用の行を用意します。各列について、入力済みの件数を表示します。全体の行数も一緒に出しておけば、差が未入力の件数になります。

次に、必須項目を明示します。入力必須の列だけを対象に集計すれば、任意項目の未入力に惑わされません。必須項目がすべて埋まっているかどうかを、真偽値で判定する数式を置いておくと、一目で分かります。

さらに、型の確認も加えます。数値であるべき列について、数値だけを数えた件数と入力済みの件数を並べます。差があれば、文字列として入っているものが混ざっています。取り込んだデータでは頻繁に起こるので、この確認は有効です。

最後に、想定件数との突き合わせです。取り込み元の件数が分かっているなら、それをセルに入れておき、実際の件数と一致するかを判定します。取り込み漏れや重複に気づけます。

この四つを表の上部にまとめておくと、シートを開いた瞬間に状態が分かります。作るのに十分もかかりません。


数え方を選ぶ判断基準

どの関数で数えるかは、目的から逆算して決めます。

入力されているかどうかを知りたいなら、空白以外を数える関数です。中身が何であれ、何か入っていれば一件です。入力の進捗を把握する用途では、これが適しています。

計算の対象がいくつあるかを知りたいなら、数値だけを数える関数です。集計の分母として使う場合、文字列が混ざっていると誤った平均になります。

未入力を知りたいなら、空白を数える関数です。ただし、数式が空文字を返しているセルは数えられません。この点を理解しておかないと、件数が合わない理由が分かりません。

条件に合うものを数えたいなら、条件付きの件数関数です。特定の値のもの、特定の範囲のもの、空欄でないもの。柔軟に指定できます。

種類の数を知りたいなら、重複を除いてから数えます。担当者が何人いるか、商品分類がいくつあるか、といった用途です。

この五つを目的で使い分けられれば、件数に関する要求はほぼ満たせます。


件数から異常を検知する

件数の変化は、データの異常を知らせる最初の合図になります。監視の仕組みを作っておくと、静かに壊れることを防げます。

前回の件数をセルに記録しておき、今回の件数と比較します。想定外に増減していれば、取り込みの誤りか、重複の混入が疑われます。

日次で追加されるデータであれば、一日あたりの件数を出しておきます。極端に少ない日や多い日があれば、取り込み漏れか二重取り込みです。

列ごとの入力済み件数を並べておくのも有効です。ある列だけ件数が少なければ、その項目が入力されていないということです。仕様変更で項目が増えたときにも気づけます。

数値だけを数えた件数と、入力済みの件数を並べて表示すれば、型の異常が分かります。差が出た時点で、文字列が混入しています。

これらの確認は、いずれも数式を数本置くだけです。一度作れば、以降は目に入るだけで状態が分かります。データを扱うシートには、必ず入れておいてください。

異常に気づくのが早ければ早いほど、原因の特定も修正も楽になります。数か月経ってから発覚すると、どこから直せばよいか分からなくなります。

「集計」の関数を全体から見る

数値をまとめる関数群です。同じカテゴリの関数は、つまずく場所も似ています。この記事のほかに48本あります。

記事
ABS
AGGREGATE
AVERAGE
AVERAGEIF
AVERAGEIFS
CEILING
CORREL
COUNT
COUNTBLANK
COUNTIF
COUNTIFS
COUNTUNIQUE
FLOOR
GEOMEAN
INT
LARGE
MAX
MAXIFS
MEDIAN
MIN
MINIFS
MOD
MODE
PERCENTILE
POWER
PRODUCT
QUARTILE
QUOTIENT
RAND
RANDBETWEEN
RANK
ROUND
ROUNDDOWN
ROUNDUP
SIGN
SMALL
SPARKLINE
SQRT
STDEV
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
TRIMMEAN
TRUNC
VAR

このカテゴリで共通するつまずき

空欄と0の扱いが結果を左右します。未入力を0で埋めると平均が下がります。1つで理解した内容は、同じカテゴリの他の関数にもそのまま使えます。

どれを使うかの決め方

条件の数で使う関数が変わります。将来増えるなら複数条件に対応する形にしてください。関数の一覧を眺めて選ぼうとすると、どれも当てはまるように見えて決まりません。

迷ったときは

→ 全関数の一覧 に目的別の索引があります。


数式を書く前の手順

先に決めておけば、書くのは数分で終わります。

1. 出したい結果を一文で書く

「何を、どの条件で、どんな形で出したいか」。この一文が書ければ、関数はほぼ決まります。書けないなら、まだ要件が固まっていません。

2. 元データの型を確認する

空欄と0の扱いが結果を左右します。未入力を0で埋めると平均が下がります。=ISNUMBER(A2) で数値かどうかを確認できます。見た目が同じでも、数値と文字列は別物です。

3. 空欄と0の扱いを決める

未入力なのか、実績が0なのか。表の意味が変わります。どちらとして扱うかを決めてから書いてください。

4. 条件の数を数える

条件の数で使う関数が変わります。将来増えるなら複数条件に対応する形にしてください。将来条件が増える可能性があるなら、最初から複数条件に対応する形にしてください。

5. 共有先の環境を確認する

新しい関数は、古い環境で開くとエラーになります。社外に渡すファイルでは、この一点で選択肢が変わります。

6. 1行だけ書いて確認する

全行にコピーする前に、1行分の結果が正しいかを見てください。間違ったまま広げると、直す手間が増えます。


どの関数でも共通する確認

うまくいかないときに見る場所は、ほぼ決まっています。

参照を固定したか

下方向にコピーする数式では、動いてはいけない参照を固定します。上の数行だけ見て判断しないでください。ずれは下のほうで表面化します。

範囲の行数が揃っているか

複数の範囲を渡す関数では、行数がずれると結果が狂います。エラーにならず値が返るため、気づきにくい種類の間違いです。

型が揃っているか

=ISNUMBER(A2)

数値として入っているかを判定します。システムから書き出したデータでは、これが原因のことが多くあります。

前後に空白が入っていないか

=LEN(A2)&" / "&LEN(TRIM(A2))

数が違えば、余分な空白が入っています。見た目では判別できません。

別の方法で検算したか

同じ数字を別の関数でも出して、突き合わせてください。1つの結果だけを見ても、正しいかどうかは判断できません。

最終行まで確認したか

一番下までスクロールして、結果を見てください。途中から値が変わっていないかを確認します。


引き継ぐときに残すこと

数式は動いていても、意図は残りません。渡す前に、次の点をシート内にメモしてください。3分で終わります。

何を出している数式か

一行で構いません。読めば分かると思っても、数か月後の自分には分かりません。

どの表を参照しているか

参照先のシート名と、更新の担当。別ファイルなら、その場所も書いてください。

該当しないときの扱い

空欄にしているのか、文言を出しているのか、エラーのまま残しているのか。書いていないと、受け取った側は空欄をデータなしと読みます。

触ってはいけない場所

列を挿入すると壊れる数式がある場合、必ず書き残してください。この一行があるだけで、引き継ぎ後の事故が大きく減ります。

使った関数の対応環境

新しい関数を使っている場合、古い環境では開けません。共有の範囲が広がる可能性があるなら、明記してください。

確定した期間は値にする

締めた月の集計は、値貼り付けにしてください。参照元を消しても壊れなくなり、ファイルも軽くなります。

このサイトの収録状況

収録は201本です。カテゴリごとの内訳を出しておきます。

カテゴリ記事数
目的別51本
集計47本 ←この記事
文字列31本
日付19本
検索・参照15本
条件15本
機能12本
配列・抽出10本
関数一覧1本

探し方の順番

関数名が分かっているなら検索窓から。やりたいことだけ決まっているなら「目的別」から。近い関数を比べたいなら、同じカテゴリの一覧から入ってください。

記事の構成

どの記事も、書式・実例・つまずきやすいところ・似た関数との使い分けを同じ順番で並べています。1本読めば、他の記事も同じ場所を探せます。


よくある質問

Q. 目で数えた件数と合いません

数値だけを数える関数を使っていて、文字列が混ざっている可能性があります。空白以外を数える関数と比べてください。

Q. 空欄なのに数えられます

数式が空文字を返しています。セルを選んで数式バーを確認してください。

Q. 空白の件数を数えたいのですが

空白を数える専用の関数があります。ただし空文字を返す数式は数えられません。

Q. 条件を付けて数えたいのですが

条件付きの件数関数を使ってください。→ COUNTIF関数の使い方

Q. 重複を除いた件数を出せますか

重複を除く関数で一覧を作ってから数えてください。

Q. 最終行を求めたいのですが

件数から計算できますが、途中に空白行があるとずれます。空白行を作らない運用が前提です。

Q. 複数の範囲をまとめて数えられますか

できます。範囲をカンマで区切って並べてください。

Q. 非表示の行も数えますか

数えます。表示されている行だけを数えたい場合は、小計の関数を使ってください。




この分野の他の記事

同じ「集計」の記事です。目的が近いので、こちらで解決しない場合はこちらも見てください。

まとめ

  • 書式は =COUNTA(範囲)。空欄以外すべてを数える
  • 入力済みの行数を数えるなら COUNT ではなくCOUNTA
  • 数式が返した "" を1件として数えるのが最大の落とし穴
  • 見た目通りに数えるなら =COUNTIF(範囲, "<>")
  • 厳密な未入力は ISBLANK を使う

関連する関数