スプレッドシートで「件数」を数えたいときによく使うCOUNTA関数について、使い方と内部のしくみを解説します。草野球の成績管理表でシーズン出場試合数を数える場面を例に、初心者向けに丁寧に説明します。
COUNTA関数とは
指定した範囲の中で「空白でないセル」の数を数える関数です。中身が数値であっても文字列であっても関係なく、何かしら入力されているセルであればカウントの対象になります。成績管理表では「出場した試合数」「登録されている選手数」など、”何件あるか”を知りたい場面で登場します。
基本の書式はこうです。
=COUNTA(範囲)
SUM関数と同じように、範囲には「D2:D30」のようにセルの固まりを指定します。
成績管理表での実例:シーズン出場試合数を数える
大阪グーニーズの個人成績シートでは、各試合の結果を1行ずつ記録しています。仮に、選手ごとの行に試合結果が入る「個人成績」シートがあり、C列に各試合の対戦相手名が入っているとします。
| 試合日 | 対戦相手 | 打数 | 安打 |
|---|---|---|---|
| 4/6 | ○○ファイターズ | 4 | 2 |
| 4/13 | |||
| 4/20 | □□イーグルス | 4 | 0 |
| … | … | … | … |
4/13の行は対戦相手欄が空白になっています。これはその選手がこの試合を欠場していたケースです。このC列(対戦相手)を使って、実際に出場した試合数を数えたいとき、式はこうなります。
=COUNTA(C2:C30)
これで「C2セルからC30セルまでの中で、空白でないセルがいくつあるか」が数えられ、実際に出場した試合数が求まります。欠場した試合の行は対戦相手欄を空白のままにしておけば、この1つの式が自動でカウントから除外してくれます。
シーズン出場試合数を表示したいセル(例:個人成績シートの集計欄)をクリックして選択します。
マウスでC2からC30までドラッグすると、自動で「C2:C30」の部分が入力されます。
式を確定すると、すぐに出場試合数がセルに表示されます。
しくみを理解する:COUNTAは何をしているのか
COUNTA関数は、指定した範囲を1セルずつ見ていき、「空白でなければ1件としてカウントする」「空白ならカウントしない」を繰り返しているだけです。中身が何であるかは一切問いません。
- 数値が入っているセルはもちろんカウントされる
- 文字列が入っているセルもカウントされる(SUM関数とは正反対の性質)
- 数式の結果が空文字(“”)になっているセルは、見た目は空白でも「空白でない」扱いになりカウントされてしまう場合がある
よくあるミス:件数が合わない原因
「COUNTAで数えているのに、実際の件数と合わない」というとき、原因の多くは次のどちらかです。
COUNTAは「空白でないセル」を数える関数であり、「数値が入っているセル」だけを数えるCOUNT関数とは動きが異なります。対戦相手欄(文字列)をCOUNTで数えようとすると常に0になってしまうのはこのためです。数えたい列の中身が文字列なのか数値なのかを確認してから関数を選ぶ必要があります。
数式で「もし条件を満たさなければ空文字を表示する」ように組んでいるセルは、見た目には何も表示されていなくても、COUNTAの上では「空白でない」と判定されカウントされてしまいます。試合予定がまだ埋まっていない行に数式だけコピーしてある場合などに起こりやすいミスです。
- COUNTA関数は「指定範囲の中で空白でないセルの数」を数える関数
- 数値でも文字列でもカウントされる(中身の種類を問わない)
- 数値だけを数えたい場合はCOUNTAではなくCOUNT関数を使う必要がある
- 数式が入っていて見た目が空白のセルはカウントされてしまう場合がある点に注意
次回予告
次回のテーマは「COUNT関数」です。COUNTAと似ていますが「数値が入っているセルだけ」を数える関数を、打数が入力されている試合数のカウントを例に解説していきます。
▶︎ 次回:COUNT関数の使い方としくみ


コメント