Excelでデータを扱う際、「このリストのデータ件数は?」「必要な項目がすべて入力されているか確認したい」際に使う関数がCOUNTA関数です。
- COUNTA関数の基本的な使い方と注意点
- COUNTAを使って特定の文字や複数条件で件数を数える応用テクニック
- IF関数とCOUNTAを組み合わせて使う具体的な方法
- 実務でCOUNTAを使った「件数を数える」困りごとを解決するヒント
COUNTA関数の基本を学ぼう:概要と使い方
まずは、COUNTA関数の基本的な役割と使い方を確認しましょう。
COUNTAの基本概要
指定した範囲の中で「空白ではないセル」の個数を数えるための関数
数字、文字、日付、エラー値など、セルに何らかの値が入力されていればすべてカウントの対象となります。
COUNTA関数と、混同しやすいCOUNT関数、COUNTBLANK関数の違いは以下の通りです。
| 関数名 | 役割 | 数える対象 |
|---|---|---|
| COUNTA関数 | 空白以外のセルの個数を数える | 数字、文字、日付、記号、数式の結果(空の文字列を含む)など、すべて |
| COUNT関数 | 数値が入っているセルだけ数える | 数字、日付 |
| COUNTBLANK関数 | 空白のセルの個数を数える | 空白(何も入力されていないセル) |
COUNTAの例題:基本的な使い方
書式:
=COUNTA(値1, [値2], …)
値1:数えたい最初のセル範囲、または値を指定
[値2], …:追加で数えたいセル範囲、または値を指定します。最大255個まで指定可能
以下のデータを使用して、「氏名」の入力件数を数えてみましょう。

この表でC2セルからC7セルまでを範囲に指定すると、C5セルとC7セルは空白(何も入力されていない)のため、入力されている件数は「4」になります。
数式:
=COUNTA(C2:C7)
結果:
4
複数の範囲やセルをカンマ(,)で区切って指定することも可能です。

応用編:特定の文字や複数条件で件数を数える方法
COUNTA関数は空白以外のすべてを数えるため、「特定の部署だけ」や「特定の条件に合うものだけ」を数えることはできません。

実務で求められる条件付きのカウントには、COUNTIF関数やCOUNTIFS関数を使います。
| 関数名 | 役割 | 条件数 |
|---|---|---|
| COUNTIF関数 | 1つの条件を満たすセルの個数を数える | 1つ |
| COUNTIFS関数 | 複数の条件をすべて満たすセルの個数を数える | 2つ以上 |

COUNTIF関数やCOUNTIFS関数については、下記記事でも紹介しています!
勉強したい方は是非ご覧ください。
【エクセル】COUNTIF関数の使い方を徹底解説!条件に合うデータの個数を数えよう
【エクセル時短】COUNTIFS関数で複数条件のデータ数を数えよう!AND条件も解説
【例題1】特定の文字(部署名)の件数を数える (COUNTIF)
下記の表を使い、「部署が営業の社員」の件数を数えます。

=COUNTIF(範囲, 検索条件)
数式:
=COUNTIF(D2:D7,”営業”)
結果:
3

【例題2】特定の数値以上の件数を数える
部署列の隣に「実績」の列(E列)があり、「実績が100以上」の件数を数えたい場合もCOUNTIFを使用します。
数式:
=COUNTIF(E2:E7,”>=100″)

【例題3】複数条件でのカウント (COUNTIFS)
次に、「部署が営業」かつ「氏名が入力されている」社員の件数を数えます。COUNTIFS関数を使用します。
=COUNTIFS(範囲1, 条件1, 範囲2, 条件2, …)
数式:
=COUNTIFS(D2:D7,”営業”, C2:C7,”<>”)
結果:
3


ここで、<>(不等号) は「空白ではない」という意味で、実務で「入力漏れのない件数」を数える際によく使われるテクニックです。
ワイルドカードを使った部分一致のカウント
特定の文字を含むものを数えたい場合、COUNTIFやCOUNTIFSではワイルドカード(* アスタリスクや ? クエスチョンマーク)が利用できます。
「氏名に田という文字が含まれる」社員の件数を数えたい場合
数式:
=COUNTIF(C2:C7,”*田*“)

COUNTAをIF関数と組み合わせて使う方法
COUNTIF/COUNTIFS関数が条件付きでカウントすることがよくありますが、IF関数とCOUNTAを組み合わせる方法は、より複雑な論理判断を伴う件数カウントや、配列数式を理解する上で非常に重要です。
これは、「ある条件が満たされた場合にのみ、別の範囲の件数を数える」といった処理に使われます。
配列数式での条件付きカウント
「部署が『営業』の場合にのみ、氏名が入力されている件数をカウントする」という処理を、配列数式で実現します。
数式:
=SUM(IF(D2:D7=”営業”, 1, 0))
※配列数式として Ctrl + Shift + Enter で確定
結果:
3
- D2:D7=”営業”:
部署列(D2からD7)の各セルが「営業」であるかを判定します。結果は {TRUE, FALSE, TRUE, FALSE, TRUE, FALSE} のような真偽値の配列になります。 - IF(…, 1, 0):
上記の判定結果が TRUE(条件を満たす) なら 1 を返し、FALSE(条件を満たさない) なら 0 を返します。結果は {1, 0, 1, 0, 1, 0} のような配列になります。 - SUM(…):
返された配列の要素(1と0)をすべて合計します。つまり、条件を満たした件数(1の数)を求めます。
配列数式は、数式を入力した後、必ず Ctrl + Shift + Enter キーを同時に押して確定する必要があります。成功すると、数式の両端に { } が自動で表示されます。
【初心者必見】Excelの「配列数式」を徹底解説!業務効率が爆上がりするテクニック

=COUNTA(IF(D2:D7=”営業”, C2:C7, “”))と入力すると結果が”6″となってしまいます。
これは、IF関数の結果として返された 6つの空の文字列(””)をすべてCOUNTA関数がカウントするため。
COUNTAを使う際の注意点:落とし穴と回避策
COUNTA関数を実務で使う上で、集計ミスを防ぐために必ず知っておきたい注意点が2つあります。特に、見た目と実態が異なる「空白」には要注意です。
- 見た目上空白でもカウントされることがある
- COUNT関数との明確な使い分け
1. 見た目上空白でもカウントされることがある
これがCOUNTA関数の最大の落とし穴です。
COUNTA関数は、セルに空の文字列(””)やスペースが入っている場合、それを「データあり」と見なしてカウントしてしまいます。
- 空の文字列(””)の例:
他のセルを参照する数式で、条件が満たされずに**””**が返された場合(例: =IF(A1=””,””,A1))。 - スペースの例:
入力時に意図せず半角または全角スペースが入力された場合。
これらは見た目では空白に見えるため、手作業でのチェックが難しく、集計ミスにつながります。
回避策:TRIM関数でスペースを削除する
スペースが原因の場合は、データを扱う前にTRIM関数を使って不要なスペースを削除することを習慣づけましょう。
文字列の先頭と末尾にある不要なスペースを取り除く関数
- 作業列(例: D列)を挿入します。
- D2セルに =TRIM(B2) と入力し、下までコピーします。
- COUNTAの集計範囲を元のB列ではなく、TRIM後のD列に変更します。
これにより、意図しないスペースによるカウントを回避できます。
回避策:COUNTIFS関数で明示的に空白を無視する
空の文字列(””)による誤カウントを確実に避けるには、前述のCOUNTIFS関数を使い、明示的に「空白ではない」という条件(<>)を含めてカウントするのが最も安全です。
数式:
=COUNTIFS(C2:C7,”<>”)
2. COUNT関数との明確な使い分け
データに含まれる内容によって、正確な関数を使い分ける必要があります。
| 目的 | 使用する関数 |
|---|---|
| 全般的な入力件数を知りたい(数字、文字、記号など) | COUNTA関数 |
| 数値(または日付)のみの件数を知りたい | COUNT関数 |
| 特定の条件に合うものの件数を知りたい | COUNTIF/COUNTIFS関数 |
特に、数値と文字が混在している列でCOUNT関数を使ってしまうと、文字データは無視され、実際のデータ件数よりも少ない数が集計されてしまうため注意が必要です。
実務に役立つ応用アイデア:日付と連番の活用
日付を条件とした件数カウント
COUNTIF/COUNTIFS関数は、日付データを条件としてカウントする際にも非常に便利です。
たとえば、「今月に完了したタスクの件数」や「特定の日付以降に登録されたデータ件数」などを求められます。

以下のF列に「完了日」が入っていると仮定します。
例1:
2025年1月1日以降に完了したタスクの件数を数える。
数式:
=COUNTIF(F2:F7,”>=2025/1/1″)

例2:
2025年1月1日から2025年1月31日までに完了したタスクの件数を数える(複数条件)。
数式:
=COUNTIFS(F2:F7,”>=2025/1/1″, F2:F7,”<=2025/1/31″)

COUNTAとROW関数を組み合わせた自動連番
データが入力された行にだけ自動で連番を振りたい場合、COUNTA関数とROW関数を組み合わせたテクニックが非常に有効です。
A列に連番を振りたいとします。データがB列に入っている場合、A2セルに以下の数式を入力し、下にコピーします。
数式:
=IF(B2<>””, COUNTA($B$2:B2), “”)
- B2<>””:
もしB2セルに何か入力されていたら(空白でなければ)、という意味です。 - COUNTA($B$2:B2):
B2セルから、現在の行のB列までの範囲で空白ではないセルの数を数えます。- $B$2のように絶対参照($マーク)を最初につけることで、数式をコピーしても常にB2セルからカウントが始まるため、自動的に連番になります。
- “”:
B2セルが空白であれば、連番のセルも空白にして表示しません。


この方法を使えば、行を削除したり、途中にデータを追加したりしても、連番が自動で振り直されるため、データの管理が非常に楽になります。
データ入力の進捗チェック
最後に、COUNTA関数を使った進捗管理の応用例です。

タスクが記載されているセル(B2:B6)が空白でなければ「入力済み」とみなして件数を求めます。

まとめ
今回は、Excelで件数を正確に数えるためのCOUNTA関数と、実務で必須となるCOUNTIF/COUNTIFS関数について、基本から複雑な応用、そして集計ミスをなくすための注意点を解説しました。
| 目的 | 使用する関数 | 補足 |
|---|---|---|
| 空白以外のすべてを数える | COUNTA関数 | 入力漏れチェックなど |
| 特定の1条件で数える | COUNTIF関数 | 特定部署の人数、特定日付以降の件数など |
| 複数の条件で数える | COUNTIFS関数 | 部署と役職、開始日と終了日の範囲など |
| 未入力(完全な空白)を数える | COUNTBLANK関数 | データ入力漏れチェックなど |
ぜひ、実務で活用してみてください。
コメント