COUNT・COUNTA・COUNTIF・COUNTIFSの違いと使い分け早見表

スポンサーリンク

COUNT・COUNTA・COUNTIF・COUNTIFSの違いと使い分け早見表

「COUNT・COUNTA・COUNTIF、どれを使えばいいの?」。カウント系の関数はたくさんあって迷いますよね。

間違った関数を選ぶと、数えたいものが数えられません。たとえばCOUNT関数で文字列のセルを数えようとしても結果は0です。

この記事では5つのカウント関数を3つの観点で比較します。選び方のフローチャートも用意したので、もう迷いませんよ。

COUNT系5関数の違い【結論】

まず結論です。5つの関数は「何を数えるか」と「条件の有無」で使い分けます。

  • COUNT: 数値セルだけを数える
  • COUNTA: 空白以外のセルをすべて数える
  • COUNTBLANK: 空白セルだけを数える
  • COUNTIF: 条件を1つ指定して数える
  • COUNTIFS: 条件を2つ以上指定して数える

条件なしで数えるならCOUNT・COUNTA・COUNTBLANKの3択です。条件付きならCOUNTIF・COUNTIFSの2択です。

5関数の機能比較一覧表

比較項目COUNTCOUNTACOUNTBLANKCOUNTIFCOUNTIFS
何を数えるか数値セル空白以外すべて空白セル条件に合うセル複数条件に合うセル
条件指定なしなしなし1つ複数(最大127組)
ワイルドカード対応対応
空白セルの扱い無視無視カウント対象条件次第条件次第
文字列の扱い無視カウント対象条件次第条件次第
対応バージョン全バージョン全バージョン全バージョン全バージョンExcel 2007以降
読み方カウントカウントエーカウントブランクカウントイフカウントイフエス

選択フローチャート

どの関数を使うか迷ったら、次の順番で判断してください。

  1. 条件を指定したい? → Yes なら手順3へ、No なら手順2へ
  2. 何を数えたい?
  • 数値セルだけ → COUNT
  • 空白以外すべて → COUNTA
  • 空白セルだけ → COUNTBLANK
  1. 条件は1つだけ?
  • Yes → COUNTIF
  • No(2つ以上) → COUNTIFS

迷ったらCOUNTAから試そう

「入力されたセルの個数」が知りたいだけなら、COUNTA関数が一番守備範囲が広いです。数値も文字列もまとめて数えてくれます。

各関数の特徴と基本の使い方

ここからは5つの関数の特徴を順番にみていきましょう。

COUNT関数 — 数値セルだけを数える

COUNT関数は、数値が入力されたセルの個数を返します。

=COUNT(値1, [値2], ...)
セルA1: りんごA2: 100A3: (空白)A4: 200A5: TRUE
結果無視カウント無視カウント無視
=COUNT(A1:A5)

結果は 2 です。数値の100と200だけを数えます。文字列・空白・論理値はすべて無視されます。

COUNTA関数 — 空白以外すべてを数える

COUNTA関数は、空白でないセルの個数を返します。

=COUNTA(値1, [値2], ...)

同じデータで試すと結果は 4 です。空白セル(A3)以外をすべて数えます。文字列も論理値も数値もカウント対象です。

空文字列に注意

="" で空文字列が入ったセルは、見た目は空白でもCOUNTAはカウントします。本当の空白だけを数えたいときはCOUNTBLANK関数を使いましょう。

COUNTBLANK関数 — 空白セルだけを数える

COUNTBLANK関数は、空白セルの個数を返します。

=COUNTBLANK(範囲)

同じデータで =COUNTBLANK(A1:A5) とすると、結果は 1 です。空白のA3だけを数えます。

COUNTAとCOUNTBLANKは「裏表」の関係です。セル数からCOUNTAの結果を引いた数がCOUNTBLANKの結果になります。

COUNTIF関数 — 条件を1つ指定して数える

COUNTIF関数は、条件に一致するセルの個数を返します。

=COUNTIF(範囲, 検索条件)

次のデータで「りんご」のセルを数えます。

A列(商品名)
りんご
みかん
りんご
ぶどう
=COUNTIF(A2:A5,"りんご")

結果は 2 です。ワイルドカードも使えます。「り」で始まる商品を数えるなら =COUNTIF(A2:A5,"り*") です。

COUNTIFS関数 — 複数条件で数える

COUNTIFS関数は、複数の条件をすべて満たすセルの個数を返します。

=COUNTIFS(条件範囲1, 条件1, [条件範囲2, 条件2], ...)

次のデータで「営業部」かつ「達成」のセルを数えます。

A列(部署)B列(ステータス)
営業部達成
総務部未達
営業部未達
営業部達成
=COUNTIFS(A2:A5,"営業部",B2:B5,"達成")

結果は 2 です。条件範囲と検索条件のペアを並べるだけで、AND条件(「かつ」)の集計ができます。

実務で使う5つのカウントシナリオ

ここからは実務でよくある5つのシーンを、具体的な数式で解説します。

次のサンプルデータを使います。

A列(氏名)B列(部署)C列(点数)D列(ステータス)
田中太郎営業部85合格
鈴木花子総務部(空白)(空白)
佐藤一郎営業部72合格
山田美咲営業部(空白)(空白)
高橋健太総務部90合格
伊藤さくら総務部65不合格

シナリオ1: 点数が入力済みの行だけ数える

「何人分のテスト結果が入力されているか」を知りたい場面です。

=COUNT(C2:C7)

結果は 4 です。数値が入っているセルだけを数えます。空白のC3・C5は無視されます。

「氏名が入力されている行」を数えたいなら、文字列なのでCOUNTAを使います。

=COUNTA(A2:A7)

結果は 6 です。

シナリオ2: 特定の文字列に一致するセルを数える

「合格した人数」を数えたい場面です。

=COUNTIF(D2:D7,"合格")

結果は 3 です。条件に「合格」を指定するだけですね。

「不合格」の人数も一緒に確認するなら、別のセルに =COUNTIF(D2:D7,"不合格") と入力します。

シナリオ3: 複数条件でANDカウント

「営業部で、かつ合格した人数」を数えたい場面です。

=COUNTIFS(B2:B7,"営業部",D2:D7,"合格")

結果は 2 です。B列が「営業部」かつD列が「合格」の行を数えます。

点数が80点以上の人を数えるなら、比較演算子を使います。

=COUNTIFS(B2:B7,"営業部",C2:C7,">=80")

結果は 1(田中太郎さんの85点)です。

シナリオ4: OR条件でカウント

「営業部または総務部の合格者」を数えたい場面です。COUNTIFS関数にはOR条件(「または」)を直接指定する方法がありません。

方法1: COUNTIFSを足し算する

=COUNTIFS(B2:B7,"営業部",D2:D7,"合格")+COUNTIFS(B2:B7,"総務部",D2:D7,"合格")

結果は 3 です。部署ごとにCOUNTIFSを書いて足し算します。条件が2つ程度ならこの書き方で問題ありません。

方法2: SUMPRODUCTを使う

=SUMPRODUCT(((B2:B7="営業部")+(B2:B7="総務部"))*(D2:D7="合格")*1)

結果は同じ 3 です。条件が3つ以上になるならSUMPRODUCTのほうがスッキリ書けます。

条件付き集計をもっと詳しく知りたい方へ

SUMIF・SUMIFS・SUMPRODUCTの使い分けは条件付き集計の比較記事で詳しく解説しています。

シナリオ5: 空白セルを数えて入力漏れを検出

「点数が未入力の人数」を数えたい場面です。入力漏れのチェックに使えます。

=COUNTBLANK(C2:C7)

結果は 2 です。C3とC5が空白なので2件の未入力があるとわかります。

入力率を計算するなら、COUNTAとCOUNTBLANKを組み合わせます。

=COUNTA(C2:C7)/(COUNTA(C2:C7)+COUNTBLANK(C2:C7))

結果は 4/6 = 約 66.7% です。

COUNTBLANKとCOUNTIFの使い分け

空白セルを数えるだけならCOUNTBLANK、空白以外の条件もあるならCOUNTIFを使います。=COUNTIF(C2:C7,"") でも空白セルを数えられますが、COUNTBLANKのほうが意図が明確です。

5つのシナリオ早見表

シナリオおすすめ関数数式例
数値入力済みの行を数えるCOUNT=COUNT(C2:C7)
文字列を含む入力済みの行を数えるCOUNTA=COUNTA(A2:A7)
特定の文字列に一致するセルを数えるCOUNTIF=COUNTIF(D2:D7,"合格")
複数条件でANDカウントCOUNTIFS=COUNTIFS(B2:B7,"営業部",D2:D7,"合格")
OR条件でカウントCOUNTIFS足し算 or SUMPRODUCT上記シナリオ4を参照
空白セルを数える(入力漏れ検出)COUNTBLANK=COUNTBLANK(C2:C7)

よくあるエラーと対処法

5つの関数で共通して起きやすいトラブルをまとめました。

症状原因対処法
COUNTで結果が0数値が文字列として保存されているVALUE関数で数値に変換
COUNTAの結果が多すぎる空文字列(=””)のセルが含まれているCOUNTBLANK関数で空白を確認
COUNTIFで結果が0条件の全角・半角が不一致ASC関数/JIS関数で統一
COUNTIFで結果が0条件のスペース混入TRIM関数でスペース除去
#VALUE!エラーCOUNTIFSの範囲サイズが不一致すべての範囲を同じ行数に揃える
COUNTIFSで結果が0条件範囲と条件のペアがずれている範囲→条件の順に交互に並んでいるか確認

COUNT関数で文字列は数えられません

「データが入力されたセルの個数」を知りたいのにCOUNT関数で0になる場合は、COUNTA関数に切り替えてみてください。COUNT関数は数値のみ、COUNTA関数は空白以外すべてが対象です。

まとめ

COUNT系5関数の使い分けをおさらいしましょう。

  • COUNT: 数値セルだけを数える
  • COUNTA: 空白以外すべてを数える(一番守備範囲が広い)
  • COUNTBLANK: 空白セルだけを数える(入力漏れチェック向き)
  • COUNTIF: 条件1つで数える(ワイルドカード対応)
  • COUNTIFS: 複数条件で数える(AND条件、最大127組)

迷ったときの判断は次の2ステップです。

  1. 条件が必要? → No なら COUNT / COUNTA / COUNTBLANK
  2. 条件は1つ? → Yes なら COUNTIF、No なら COUNTIFS

まずはCOUNTA関数で「入力済みセルの個数」を数えるところから始めてみてください。条件で絞り込みたくなったらCOUNTIF関数へステップアップです。

条件付きの「合計」が必要になる場面もありますよね。そんなときは姉妹記事のSUMIF・SUMIFS・SUMPRODUCTの使い分けもあわせてどうぞ。


この記事で紹介した関数・関連記事

タイトルとURLをコピーしました