「何件のデータがあるか、手で数えるのは大変…」
「空白や0は数えたくない」
「条件に合うものだけ数えたい」
そんなときに役立つのが、Excelのカウント系関数です。
目的に応じて関数を使い分ければ、正確な件数を一瞬で把握できます。
この記事では、「数値だけを数える」「空白を除いて数える」「特定条件に一致するものだけを数える」など、用途別に関数の使い方を解説します。
データカウントが必要な場面

ビジネスでの活用例
- 顧客データの件数管理
- 売上実績の集計
- アンケート回答数の確認
- 在庫データの個数確認
カウント機能の効果
- 手作業でのミス防止
- リアルタイムでの件数把握
- 条件別の分析が可能
- レポート作成の効率化
基本1:データの数を数える【COUNTA関数】
空白以外のすべてのセルをカウントしたいときに使用します。
基本構文
=COUNTA(A2:A100)
→ 文字でも数値でも、入力されていればカウントされます。
COUNTA関数の特徴
カウント対象
- 数値データ
- 文字列データ
- 日付データ
- 論理値(TRUE/FALSE)
- エラー値(#N/Aなど)
カウント対象外
- 空白セル
- 空の文字列(””)
実用例
顧客リストの件数確認
A列 | 顧客名 |
---|---|
A1 | 山田太郎 |
A2 | 田中花子 |
A3 | 佐藤次郎 |
A4 | (空白) |
=COUNTA(A1:A4) // 結果: 3
基本2:数値だけをカウントする【COUNT関数】
数値データだけを数えたいときに使用します。
基本構文
=COUNT(A2:A100)
→ 文字列(例:「未入力」「ー」など)は無視されます。
COUNT関数の特徴
カウント対象
- 数値
- 日付(シリアル値として扱われる)
- 時刻
- 数式の結果が数値のもの
カウント対象外
- 文字列
- 空白セル
- 論理値
- エラー値
実用例
売上データの件数確認
B列 | 売上金額 |
---|---|
B1 | 150000 |
B2 | 200000 |
B3 | 未確定 |
B4 | 180000 |
=COUNT(B1:B4) // 結果: 3(数値のみカウント)
応用1:特定の条件に一致するデータをカウント【COUNTIF関数】

特定の条件を満たすセルの数をカウントします。
基本構文
=COUNTIF(範囲, 条件)
条件の指定方法
数値での条件
=COUNTIF(B2:B100, ">100000") // 10万円より大きい
=COUNTIF(B2:B100, ">=100000") // 10万円以上
=COUNTIF(B2:B100, "<50000") // 5万円未満
=COUNTIF(B2:B100, "=0") // 0と等しい
文字列での条件
=COUNTIF(A2:A100, "東京") // 「東京」と完全一致
=COUNTIF(A2:A100, "*東京*") // 「東京」を含む
=COUNTIF(A2:A100, "東京*") // 「東京」で始まる
=COUNTIF(A2:A100, "*東京") // 「東京」で終わる
実用例
部署別の人数カウント
=COUNTIF(A2:A100, "営業部") // 営業部の人数
=COUNTIF(A2:A100, "総務部") // 総務部の人数
成績評価のカウント
=COUNTIF(C2:C100, "A") // A評価の数
=COUNTIF(C2:C100, ">=80") // 80点以上の数
応用2:複数条件で絞ってカウント【COUNTIFS関数】
複数の条件を組み合わせてカウントします。
基本構文
=COUNTIFS(条件範囲1, 条件1, 条件範囲2, 条件2, ...)
実用例
部署と売上の複合条件
=COUNTIFS(A2:A100, "営業部", B2:B100, ">=100000")
→ 営業部で売上が10万円以上の件数
期間と地域の複合条件
=COUNTIFS(C2:C100, ">=2024/1/1", C2:C100, "<=2024/12/31", D2:D100, "東京")
→ 2024年かつ東京のデータ件数
より複雑な条件例
=COUNTIFS(A2:A100, "営業部", B2:B100, ">=100000", B2:B100, "<=500000", C2:C100, "完了")
→ 営業部、10万円以上50万円以下、完了ステータス
応用3:空白セルの数をカウント【COUNTBLANK関数】
空白セルの数を数えます。
基本構文
=COUNTBLANK(C2:C100)
活用場面
データ入力状況の確認
- 入力漏れチェック
- アンケート未回答数の把握
- 必須項目の確認
実用例
=COUNTBLANK(B2:B100) // 売上データの未入力数
=ROWS(B2:B100)-COUNTBLANK(B2:B100) // 入力済みデータ数
高度なカウント技術

ユニークデータのカウント
Excel 365以降では、UNIQUE関数と組み合わせできます。
=ROWS(UNIQUE(A2:A100)) // 重複を除いた件数
古いバージョンでは:
=SUMPRODUCT(1/COUNTIF(A2:A100,A2:A100))
複数列での条件カウント
文字列結合での判定
=COUNTIF(A2:A100&B2:B100, "営業部東京")
配列数式での処理
=SUMPRODUCT((A2:A100="営業部")*(B2:B100="東京"))
エラー値のカウント
特定エラーのカウント
=COUNTIF(A2:A100, "#N/A") // #N/Aエラーの数
=COUNTIF(A2:A100, "#REF!") // #REF!エラーの数
すべてのエラーのカウント
=SUMPRODUCT(--ISERROR(A2:A100))
見やすくまとめたいときの工夫
データ件数の自動更新表示
集計セルでの管理
項目 | 件数 | 数式 |
---|---|---|
全データ | 95 | =COUNTA(A2:A100) |
数値のみ | 87 | =COUNT(B2:B100) |
営業部 | 23 | =COUNTIF(A2:A100,"営業部") |
ダッシュボード形式
// A1セル: "全体件数: " & COUNTA(データ範囲) & "件"
// B1セル: "完了: " & COUNTIF(ステータス範囲,"完了") & "件"
テーブル化での動的範囲指定
テーブル機能の活用
- データ範囲を選択
- Ctrl + T でテーブル化
- 構造化参照でカウント
=COUNTA(テーブル1[顧客名])
=COUNTIF(テーブル1[部署],"営業部")
メリット
- 新しいデータを追加しても自動で対応
- 範囲の修正が不要
- 可読性の向上
よくある質問とトラブル対処

なぜか正しい数が出ない
よくある原因
スペースだけのセル
- COUNTAではカウントされるが、見た目は空白
- TRIM関数で余分なスペースを除去
非表示文字の存在
- 改行文字やタブ文字が含まれている
- CLEAN関数で制御文字を除去
データ形式の不一致
- 数値が文字列として保存されている
- VALUE関数で数値に変換
解決例
=COUNTA(TRIM(A2:A100)) // スペース除去後のカウント
=COUNT(VALUE(B2:B100)) // 文字列数値を数値化後カウント
範囲が固定されてしまう
動的範囲の設定
OFFSET関数の活用
=COUNTA(OFFSET(A1,1,0,COUNTA(A:A)-1,1))
INDIRECT関数の活用
=COUNTA(INDIRECT("A2:A"&ROWS(A:A)))
グラフと連動できますか?
動的グラフの作成
はい、可能です:
- 件数をカウントしたセルをグラフの元データに設定
- データ追加時に自動でグラフが更新
- リアルタイムな集計グラフが完成
実装例
// 部署別件数
営業部: =COUNTIF(部署範囲,"営業部")
総務部: =COUNTIF(部署範囲,"総務部")
技術部: =COUNTIF(部署範囲,"技術部")
パフォーマンスと効率化
大量データでの注意点
計算負荷の軽減
- 不要な範囲は除外
- 可能な限りCOUNTIFSを使用
- 配列数式は慎重に使用
効率的な範囲指定
// 良い例: 必要な範囲のみ
=COUNTIF(A2:A1000,"営業部")
// 避けたい例: 列全体を指定
=COUNTIF(A:A,"営業部")
まとめ
Excelでのデータ数のカウントは、関数を使えば誰でも正確かつ素早く集計できます。
関数の使い分け
- COUNTA: 空白以外のすべてをカウント
- COUNT: 数値のみをカウント
- COUNTIF: 条件付きでカウント
- COUNTIFS: 複数条件でカウント
- COUNTBLANK: 空白セルをカウント
活用のポイント
- 「何を数えたいか」に応じて関数を選択
- テーブル機能で動的な管理
- エラーチェックと データクリーニング
- パフォーマンスを考慮した範囲設定
コメント