スプレッドシートのCOUNT関数の使い方|数値のみをカウント
「数値の個数を数えたいだけなのに、なぜか結果が0になる」。スプレッドシートのCOUNT関数でつまずく人は意外と多いです。
原因はシンプルで、COUNT関数は数値しかカウントしないという特性があります。文字列が混ざったデータでそのまま使うと、思いどおりの結果になりません。
この記事では、Googleスプレッドシートを対象に、COUNT関数の基本構文から実務での活用パターン、そして似た関数との使い分けまでまとめて解説します。読み終えるころには「どのCOUNT系関数を使えばいいか」が迷わず判断できるようになりますよ。
COUNT関数とは?数値のみカウントする仕組みを理解しよう
COUNT関数は、指定した範囲のなかにある数値の個数を返す関数です。読み方は「カウント」で、英語の「Count(数える)」がそのまま名前になっています。
ポイントは「数値だけ」という部分です。文字列や空白セル、エラー値は無視されます。数値データの件数をサッと確認したいときに便利な関数です。
基本構文と引数の見方
COUNT関数の構文はとてもシンプルです。
=COUNT(値1, [値2, ...])
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値1 | 必須 | カウント対象のセル範囲や値 |
| 値2, … | 任意 | 追加でカウントしたい範囲や値(最大255個) |
引数にはセル範囲を指定するのが一般的です。たとえば =COUNT(B2:B100) のように書きます。複数の範囲を指定したいときは、カンマで区切って =COUNT(A1:A10, C1:C10) と書けばOKです。
どのセルがカウントされる?動作イメージ
COUNT関数がカウントする・しないの基準を整理しておきましょう。ここを把握しておくと「なぜ結果が合わないのか」がすぐわかります。
カウントされるもの:
- 数値(100、3.14、-50 など)
- 日付(2024/1/1 など。内部的に数値として保持されるため)
- 時刻(9:00 など。こちらも内部的には数値です)
カウントされないもの:
- 文字列(「山田太郎」など)
- 文字列型の数字(セルの左上に緑の三角が出るアレです)
- 論理値(TRUE / FALSE)
- エラー値(#N/A など)
- 空白セル
たとえば次のように使います。
=COUNT(B2:B10)
B2:B10に「100, 山田, 200, , 300, TRUE, #N/A, 9:00, ‘500」が入っている場合、結果は 4 です。数値の100・200・300と時刻の9:00だけがカウントされます。
COUNT・COUNTA・COUNTBLANKの違いを比較表で整理
COUNT関数と名前が似た関数がいくつかあります。それぞれ「何をカウントするか」が異なるので、違いをしっかり押さえておきましょう。
COUNTとCOUNTAの違い
COUNT関数は「数値だけ」を数えますが、COUNTA関数は「空白以外のすべて」を数えます。
=COUNTA(B2:B10)
先ほどと同じデータなら、COUNTAの結果は 8 です。空白セルだけが除外され、文字列やエラー値もカウントされます。
「データが入っているセルの数を知りたい」ならCOUNTA、「数値だけの件数を知りたい」ならCOUNTと覚えてください。
COUNTBLANKとの違い
COUNTBLANK関数は逆に「空白セルだけ」を数えます。
=COUNTBLANK(B2:B10)
入力漏れのセル数を調べたいときに使います。COUNTやCOUNTAとはカウント対象が正反対なので、混同しにくいはずです。
詳しい使い方は「スプレッドシートのCOUNTBLANK関数の使い方」の記事で解説しています。
三者の違いをまとめた比較表
| 値の種類 | 例 | COUNT | COUNTA | COUNTBLANK |
|---|---|---|---|---|
| 数値 | 100, 3.14 | カウントする | カウントする | しない |
| 日付 | 2024/1/1 | カウントする | カウントする | しない |
| 時刻 | 9:00 | カウントする | カウントする | しない |
| 文字列 | 山田太郎 | しない | カウントする | しない |
| 文字列型数字 | ‘1(左揃え) | しない | カウントする | しない |
| 論理値 | TRUE/FALSE | しない | カウントする | しない |
| エラー値 | #N/A | しない | カウントする | しない |
| 空白 | (なし) | しない | しない | カウントする |
この表をざっと見るだけで「どの関数を使えばいいか」が判断できます。迷ったらこの表に戻ってきてください。
COUNT関数の実務活用パターン3選
基本を押さえたところで、実務での使いどころを紹介します。
数値入力済み件数を一瞬で確認する
売上管理表で「売上金額が入力済みの件数」を数えたいとき、COUNT関数がぴったりです。
=COUNT(C2:C100)
C列に売上金額が入っている行の数がすぐにわかります。データの入力進捗をサッと確認したいときに重宝しますよ。
行数との差で未入力セル数を把握する
全体の行数からCOUNTの結果を引けば、未入力のセル数がわかります。
=ROWS(C2:C100) - COUNT(C2:C100)
ROWS関数で対象範囲の行数を取得し、COUNT関数の結果を引くだけです。COUNTBLANKでも同じことができますが、「文字列が誤入力されたセル」も検出できるのがこの方法のメリットです。
日付・金額列の入力漏れチェックに使う
出勤管理表で「出勤日(日付列)が何日分入力されているか」を調べるケースです。
=COUNT(D2:D32)
日付はスプレッドシート内部で数値として扱われるため、COUNT関数でカウントできます。月の出勤日数を自動集計したいときにそのまま使えます。
同じ考え方で、経費精算シートの金額列にも応用できます。「金額が入っている行=精算対象の件数」として管理できるので便利です。
COUNT関数の落とし穴と注意点
COUNT関数はシンプルですが、いくつかハマりやすいポイントがあります。
TEXT形式の数値はカウントされない
これが一番多いトラブルです。見た目は数字なのにCOUNT関数でカウントされない場合、そのセルの値は「文字列型の数字」になっている可能性が高いです。
確認方法は簡単で、セルの配置を見てください。数値なら右揃え、文字列なら左揃えになります。また、セルの左上に緑色の小さな三角マークが出ていれば、それは文字列型です。
文字列型を数値に変換するには、対象セルを選択して「表示形式」メニューから「数値」に変更してみてください。
日付・時刻はカウントされる(数値扱い)
「日付をカウントしたくないのにCOUNTに含まれてしまう」というケースもあります。スプレッドシートでは日付と時刻を数値(シリアル値)として管理しています。そのため、COUNT関数は数値と同じ扱いでカウントします。
日付を除外して純粋な数字だけを数えたい場合は、COUNTIF関数を使って条件を指定する方法を検討してください。
TRUE/FALSEの論理値は範囲指定ではカウントされない
チェックボックスを使っている列にCOUNT関数を適用しても、結果は0になります。チェックボックスの値はTRUE/FALSEの論理値であり、COUNT関数のカウント対象外だからです。
チェック済みの数を数えたいときは、次のようにCOUNTIF関数を使いましょう。
=COUNTIF(A2:A20, TRUE)
まとめ|どのCOUNT系関数を使うべきか
COUNT関数は「数値の個数だけを数える」シンプルな関数です。文字列・論理値・空白はカウントしないという特性をしっかり覚えておけば、混乱することはありません。
使い分けの判断フロー
どのCOUNT系関数を使うか迷ったら、次のように考えてみてください。
- 数値の件数を知りたい →
COUNT - 空白以外のデータ件数を知りたい →
COUNTA - 空白セルの数を知りたい →
COUNTBLANK - 条件に合うデータの件数を知りたい →
COUNTIF/COUNTIFS
ほとんどの場面はこの4パターンでカバーできます。
次のステップ:COUNTIF・COUNTIFSへ
COUNT関数の仕組みがわかったら、次は条件付きでカウントできるCOUNTIF・COUNTIFS関数にチャレンジしてみてください。「特定の商品名だけ数えたい」「期間を絞って件数を出したい」といった実務ニーズに対応できるようになります。
また、数値の合計を出したいときはSUM関数とセットで覚えておくと効率的です。COUNT関数で件数を把握し、SUM関数で合計を出す。この組み合わせは実務でよく登場するので、ぜひ両方マスターしてくださいね。
