集計
COUNTA関数の使い方・読み方
読み方:COUNTA は「カウントエー」と読みます。(一般的な読み方です。公式に読み仮名の定めはありません)
COUNTAは、空欄でないセルの個数を数える関数です。
このページの中身(24項目)
この記事の書式と対応環境の出どころ(2026-08-26 確認)
- Google スプレッドシート ヘルプ:公式の書式は
COUNTA(値1, [値2, ...])
https://support.google.com/docs/answer/3093991 - Microsoft サポート:COUNTA 関数
https://support.microsoft.com/ja-jp/excel/functions/counta-function
関数の仕様は追加・変更されることがあります。書式が合わないときは、上の公式ページで最新をご確認ください。
数値だけを数える 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 ともに共通です。書式も挙動も同じで、空文字の扱いも同じです。
何を数えるかの定義がすべて
件数を数える関数は複数あり、それぞれ数える対象が違います。この違いを理解していないと、件数が合わない理由が分かりません。
空白以外を数える関数は、中身が何であれ、何か入っていれば一件として数えます。数値、文字列、論理値、エラー。すべて対象です。したがって、この関数が返すのは「入力済みのセルの数」です。
数値だけを数える関数は、文字列も論理値もエラーも無視します。返すのは「数値として扱われているセルの数」です。
この二つの差が、そのまま「数値でないものの件数」になります。金額の列で差が出れば、文字列として入っている数字があるということです。この差を見るのが、データの状態を確認するもっとも早い方法です。
さらに厄介なのが、数式が返した空文字です。見た目は空欄ですが、セルには数式が入っています。空白以外を数える関数では一件として数えられ、空白を数える関数では数えられません。目で見た空欄の数と、関数が返す数が食い違う原因は、ほぼこれです。
データの終端を求めるという用途
件数を数える関数のもうひとつの重要な用途が、データがどこまで入っているかを求めることです。
範囲を列全体にして数えれば、その列に何件入力されているかが分かります。見出し行を含めていれば、その分を引きます。この数から、データの最終行が計算できます。
最終行が分かると、範囲を動的に指定できるようになります。行が増えても自動的に追従する集計や、印刷範囲の自動設定に使えます。
ただし、この方法には前提があります。データの途中に空白行がないことです。空白行があると、実際の最終行と件数が一致しません。
途中に空白行がある可能性がある場合は、別の方法を使います。範囲の中で最後に値が入っている位置を求める書き方があり、空白行があっても正しい終端が返ります。
いずれの方法でも、データの持ち方として途中に空白行を作らないのが基本です。空白行は見た目の区切りとして使いたくなりますが、集計や範囲の指定を難しくします。区切りが必要なら、罫線や背景色で表現してください。
入力の進捗を把握する
複数人で入力するシートでは、どこまで埋まっているかを把握したくなります。件数を数える関数で、これを可視化できます。
各列について、入力済みの件数と全体の件数を並べて表示します。差が未入力の件数です。これを表の上部に置いておけば、開いた瞬間に状況が分かります。
さらに、入力率をパーセントで出せば、進捗として直感的に伝わります。
未入力の行を特定したい場合は、条件付き書式で空欄に色を付けます。目で追う必要がなくなります。
必須項目と任意項目がある場合は、必須項目だけを対象に集計してください。任意項目まで含めると、いつまでも百パーセントになりません。
この仕組みは、締切前の確認作業を大きく楽にします。誰かに催促する前に、本当に未入力なのかを自分で確認できます。
検算の道具として使う
件数を数える関数は、集計の正しさを確かめる道具としても有効です。
条件付きの集計表を作ったら、各条件の件数を合計してください。元データの全件数と一致するはずです。一致しなければ、条件が漏れているか、重複して数えられています。
取り込んだデータの件数を、取り込み元の件数と突き合わせる用途にも使えます。途中で欠落していないかが分かります。
数値だけを数えた件数と、空白以外を数えた件数を並べて表示しておけば、型の問題が混入したときに気づけます。
こうした検算の仕組みは、一度作れば以降ずっと機能します。集計表を作るときに、必ず一緒に作る習慣をつけてください。静かに間違ったまま使い続ける事故を防げます。
入力チェックの仕組みを作る
件数を数える関数は、入力状況を監視する仕組みの土台になります。一度作っておけば、以降ずっと機能します。
まず、表の上部に確認用の行を用意します。各列について、入力済みの件数を表示します。全体の行数も一緒に出しておけば、差が未入力の件数になります。
次に、必須項目を明示します。入力必須の列だけを対象に集計すれば、任意項目の未入力に惑わされません。必須項目がすべて埋まっているかどうかを、真偽値で判定する数式を置いておくと、一目で分かります。
さらに、型の確認も加えます。数値であるべき列について、数値だけを数えた件数と入力済みの件数を並べます。差があれば、文字列として入っているものが混ざっています。取り込んだデータでは頻繁に起こるので、この確認は有効です。
最後に、想定件数との突き合わせです。取り込み元の件数が分かっているなら、それをセルに入れておき、実際の件数と一致するかを判定します。取り込み漏れや重複に気づけます。
この四つを表の上部にまとめておくと、シートを開いた瞬間に状態が分かります。作るのに十分もかかりません。
数え方を選ぶ判断基準
どの関数で数えるかは、目的から逆算して決めます。
入力されているかどうかを知りたいなら、空白以外を数える関数です。中身が何であれ、何か入っていれば一件です。入力の進捗を把握する用途では、これが適しています。
計算の対象がいくつあるかを知りたいなら、数値だけを数える関数です。集計の分母として使う場合、文字列が混ざっていると誤った平均になります。
未入力を知りたいなら、空白を数える関数です。ただし、数式が空文字を返しているセルは数えられません。この点を理解しておかないと、件数が合わない理由が分かりません。
条件に合うものを数えたいなら、条件付きの件数関数です。特定の値のもの、特定の範囲のもの、空欄でないもの。柔軟に指定できます。
種類の数を知りたいなら、重複を除いてから数えます。担当者が何人いるか、商品分類がいくつあるか、といった用途です。
この五つを目的で使い分けられれば、件数に関する要求はほぼ満たせます。
件数から異常を検知する
件数の変化は、データの異常を知らせる最初の合図になります。監視の仕組みを作っておくと、静かに壊れることを防げます。
前回の件数をセルに記録しておき、今回の件数と比較します。想定外に増減していれば、取り込みの誤りか、重複の混入が疑われます。
日次で追加されるデータであれば、一日あたりの件数を出しておきます。極端に少ない日や多い日があれば、取り込み漏れか二重取り込みです。
列ごとの入力済み件数を並べておくのも有効です。ある列だけ件数が少なければ、その項目が入力されていないということです。仕様変更で項目が増えたときにも気づけます。
数値だけを数えた件数と、入力済みの件数を並べて表示すれば、型の異常が分かります。差が出た時点で、文字列が混入しています。
これらの確認は、いずれも数式を数本置くだけです。一度作れば、以降は目に入るだけで状態が分かります。データを扱うシートには、必ず入れておいてください。
異常に気づくのが早ければ早いほど、原因の特定も修正も楽になります。数か月経ってから発覚すると、どこから直せばよいか分からなくなります。
「集計」の関数を全体から見る
数値をまとめる関数群です。同じカテゴリの関数は、つまずく場所も似ています。この記事のほかに48本あります。
このカテゴリで共通するつまずき
空欄と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 を使う