「この列に数値が入っているセルって何個あるんだろう?」。Excelでデータを扱っていると、こんな場面に出くわすことがありますよね。手で数えるのは面倒ですし、データが100行、1,000行と増えると現実的ではありません。
そんなときに使えるのがExcelのCOUNT関数です。セル範囲を指定するだけで、数値が入力されたセルの個数を一瞬で返してくれます。
この記事では、COUNT関数の基本構文から実務での活用パターン、「カウントされない」トラブルの原因と対処法までまとめて解説します。
この記事は次のような人におすすめ
- 数値が入力されたセルの個数をすばやく知りたい
- COUNT関数を使ったのに結果が0になって困っている
- COUNT関数とCOUNTA関数の違いがよくわからない
ExcelのCOUNT関数とは?
COUNT関数は、指定した範囲内で数値が入力されているセルの個数を返す関数です。読み方は「カウント」で、英語の「count(数える)」が由来になっています。
たとえば、テストの点数が入力された列があるとします。COUNT関数を使えば「何人分の点数が入力されているか」を一発で確認できます。
ポイントは数値だけをカウントするという点です。文字列や空白セルは数えません。日付・時刻は内部的に数値(シリアル値)として管理されているので、カウント対象になります。
NOTE
COUNT関数はExcel 2007以降のすべてのバージョンで使用できます。Googleスプレッドシートでも同じ書式で利用可能です。
COUNT関数の書き方(構文と引数)
基本構文
=COUNT(値1, [値2], ...)
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 値1 | 必須 | 数値の個数を数えたいセル範囲や値 |
| 値2, … | 省略可 | 追加のセル範囲や値(最大255個まで) |
引数にはセル範囲(A1:A10)、個別のセル(A1, B3)、直接の数値(100)を指定できます。
COUNT関数がカウントする値・しない値
どのデータがカウント対象になるかを表にまとめました。
| データの種類 | カウント対象 | 補足 |
|---|---|---|
| 数値(整数・小数) | 対象 | 一般的な利用パターン |
| 日付・時刻 | 対象 | 内部的にシリアル値(数値)で管理 |
| 論理値(TRUE/FALSE) | セル内は対象外 | 引数に直接 =COUNT(TRUE) と書くと対象 |
| 文字列(”abc”など) | 対象外 | — |
| “5” のような数値文字列 | セル内は対象外 | CSV取り込み時に発生しやすい |
| 空白セル | 対象外 | — |
| エラー値(#N/A等) | 対象外 | エラーがあっても関数自体はエラーにならない |
TIP
「セル内の論理値」と「引数に直接書いた論理値」で結果が変わる点は、試験やVBAとの連携で地味にハマるポイントです。迷ったら上の表を確認してみてください。
COUNT関数の基本的な使い方
ここではテストの点数表を使って基本的な動作を確認します。
セル範囲をまとめて数える
B列にテストの点数が入っている場合を考えます。
=COUNT(B2:B10)
B2からB10の中で数値が入っているセルの個数を返します。空白セルや「欠席」のような文字列は数えません。
複数の範囲を同時に数える
離れた範囲をまとめてカウントしたいときは、カンマで区切ります。
=COUNT(B2:B10, D2:D10)
B列とD列の数値セルを合算した個数が返ります。中間テストと期末テストなど、別々の列にある点数をまとめて数えたいときに便利です。
個別のセルを指定して数える
特定のセルだけを確認することもできます。
=COUNT(A1, B1, C1)
3つのセルのうち数値が入っているセルの個数を返します。
COUNT関数の実務活用パターン
出欠確認 ── 点数の入力済み人数を数える
テスト結果の一覧で「点数が入力されている=出席」として出席人数を把握するケースです。
=COUNT(C2:C30)
点数列に数値がある人だけがカウントされます。「欠席」と入力された行や空白行は自動的に除外されるのがポイントです。
全体の人数からCOUNTの結果を引けば欠席者数もわかります。
=COUNTA(A2:A30) - COUNT(C2:C30)
名前の入力数(COUNTA関数)から点数の入力数を引く形です。
在庫チェック ── 数量が入力された商品数を確認
商品リストの「在庫数」列にCOUNT関数を使えば、在庫数が入力済みの商品がいくつあるかを把握できます。
=COUNT(D2:D100)
まだ棚卸しが済んでいない商品(空白)や「確認中」と入力した商品は除外されます。棚卸しの進捗管理に活用してみてください。
月次データの入力状況チェック
月ごとの売上データが横並びで入った表で、何月分まで入力済みかを確認します。
=COUNT(B2:M2)
1月から12月までの列のうち、数値が入力された月数を返します。「12」と表示されれば全月分の入力完了です。
SUM関数と組み合わせて平均を手動計算
SUM関数とCOUNT関数を組み合わせると、AVERAGE関数と同じ結果を手動で計算できます。
=SUM(B2:B10) / COUNT(B2:B10)
AVERAGE関数との違いは、分母の条件を自分でコントロールできる点です。「0を除いた平均がほしい」ときなど、細かい調整が必要な場面で役立ちますよ。
ステータスバーで数値の個数をサッと確認する
実は数式を入力しなくても、数値セルの個数を確認できる方法があります。セル範囲を選択するだけで、Excelの画面右下にあるステータスバーに「個数」が表示されます。
ステータスバーに「個数」が見当たらない場合は、ステータスバーを右クリックしてメニューを開いてください。「個数」にチェックを入れれば表示されます。
TIP
ステータスバーの「個数」はCOUNT関数と同じく数値セルだけを数えます。文字列を含む全セルの個数を知りたい場合は「データの個数」をオンにしてください。こちらはCOUNTA関数と同じ動作です。
ちょっとした確認作業にはステータスバー、結果をセルに残したいときはCOUNT関数と使い分けるのがおすすめです。
カウント結果が合わないときの原因と対処法
COUNT関数自体がエラーを返すケースはほとんどありません。ただし「結果が期待と違う」というトラブルはよく起こります。
| 症状 | 原因 | 対処法 |
|---|---|---|
| カウント結果が少ない | 数値が文字列として入力されている | 「区切り位置」機能やVALUE関数で変換 |
| 日付がカウントされない | 日付が文字列形式で入力されている | DATEVALUE関数で日付型に変換 |
| 空白に見えるのにカウントされる | セルにスペースや数式(=””)が入っている | COUNTBLANK関数やLEN関数で確認 |
| 想定より多くカウントされる | 範囲外のセルまで含めている | 引数のセル範囲を見直す |
「数値のはずなのにカウントされない」場合の確認方法
CSVファイルを取り込んだあとに多いトラブルです。セルの左上に緑色の三角マーク(エラーインジケーター)が出ていたら、文字列として格納されている可能性があります。
確認手順:
- 対象セルを選択する
- 「ホーム」タブの表示形式を確認する(「文字列」になっていませんか?)
- 「文字列」になっていたら「標準」に変更する
- セルをダブルクリックしてEnterキーを押す
1つずつ直すのが面倒なら、まとめて変換する方法もあります。対象セルを選択した状態で「データ」タブ →「区切り位置」を開き、そのまま「完了」を押すだけです。書式が「標準」に変わり、数値として再認識されます。
NOTE
セルの左上に緑の三角マークが出ているときは、マークをクリックすると「数値に変換」ボタンが表示されます。少量のデータならこちらが一番手軽ですよ。
似た関数との違い・使い分け
COUNT関数ファミリーには用途の異なる関数がいくつかあります。下の比較表で整理しておきましょう。
| 関数名 | カウント対象 | 条件指定 | 主な用途 |
|---|---|---|---|
| COUNT | 数値セル | なし | 数値の入力数を数える |
| COUNTA | 空白でないセル | なし | 何かしら入力があるセルを数える |
| COUNTBLANK | 空白セル | なし | 未入力セルを数える |
| COUNTIF | 条件に合うセル | 1つ | 「80点以上」など条件付きで数える |
| COUNTIFS | 条件に合うセル | 複数 | 「A組かつ80点以上」など複数条件で数える |
5つの関数の使い分けをもっと詳しく知りたい方は、COUNT・COUNTA・COUNTIF・COUNTIFSの違いと使い分け早見表もあわせてご覧ください。
COUNTとCOUNTAの使い分け
もっとも混同しやすいのがこの2つです。
- COUNT: 数値が入ったセルだけを数える
- COUNTA: 空白でないセルをすべて数える(文字列・数値・数式の結果すべて含む)
「名前が入力された行数=データ件数」を知りたいならCOUNTA。「点数が入力された行数」を知りたいならCOUNTです。
同じ範囲(B2:B10)に「85, 欠席, 72, 90, (空白), 68, 88, 欠席, 95」が入っている場合で比べてみましょう。
| 関数 | 数式 | 結果 | 理由 |
|---|---|---|---|
| COUNT | =COUNT(B2:B10) | 6 | 数値(85, 72, 90, 68, 88, 95)だけ |
| COUNTA | =COUNTA(B2:B10) | 8 | 空白以外すべて(数値6つ + 「欠席」2つ) |
COUNTとCOUNTIFの使い分け
「数値であること」以上の条件を付けたいときはCOUNTIF関数の出番です。
=COUNTIF(B2:B10, ">=80")
「80点以上のセルを数える」のようにしきい値を指定できます。複数の条件を組み合わせたい場合はCOUNTIFS関数を使いましょう。
ROWS / COLUMNS関数との違い
「セルの個数」つながりで混同しやすいのがROWS関数とCOLUMNS関数です。
| 関数 | 返す値 | セルの中身 |
|---|---|---|
| COUNT | 数値セルの個数 | 中身を見て判定する |
| ROWS | 範囲の行数 | 中身に関係なく範囲のサイズを返す |
| COLUMNS | 範囲の列数 | 中身に関係なく範囲のサイズを返す |
=ROWS(A1:A10) は常に10を返します。中身が空白でも文字列でも関係ありません。
条件付きで合計を出したいときはSUMIF関数も覚えておくと便利ですよ。
まとめ
COUNT関数は「数値が入力されたセルの個数を数える」シンプルな関数です。
- 構文:
=COUNT(値1, [値2], ...) - 数値・日付をカウントし、文字列・空白・エラーは対象外
- 出欠確認・在庫チェック・入力進捗の管理に活用できる
- ステータスバーでも数値の個数をサッと確認できる
- 文字列も含めて数えたいときはCOUNTA関数を使う
- 条件付きで数えたいときはCOUNTIF / COUNTIFS関数を使う
まずはシンプルな範囲指定から試してみてください。データの入力状況を把握するだけでも、日常の集計作業がぐっとラクになりますよ。
