「特定の条件に合うデータが何件あるか」を数える場面は、総務の勤怠集計から営業事務の受注件数集計まで幅広くあります。条件が1つならCOUNTIFで足りますが、「A部署で、かつ出勤ステータスが『出勤』の人数」のように条件が2つ以上重なった途端、多くの人がCOUNTIFを2回使って引き算するなど遠回りな方法をとりがちです。この記事ではCOUNTIFSの正しい書き方と、範囲の形が合わずに起こるエラーへの対処法を解説します。
COUNTIFとCOUNTIFSの違い
COUNTIFは条件を1つしか指定できませんが、COUNTIFSは条件範囲と条件のペアを複数指定でき、すべての条件をAND条件(同時に満たす)でカウントします。
例:部署列(B列)が「営業部」、かつステータス列(C列)が「出勤」の人数を数える
=COUNTIFS(B:B,"営業部",C:C,"出勤")
「または(OR条件)」で数えたい場合はCOUNTIFSだけでは1つの数式にまとまらず、複数のCOUNTIFSを足し算する、あるいはSUM関数と配列を組み合わせる必要があります。実務では「AND条件で数える」ケースが圧倒的に多いため、まずはAND条件の書き方をしっかり押さえておくと応用が利きます。
実務でのよくある使用シーン
総務担当者であれば、勤怠表から「部署別・ステータス別の出勤者数」を集計する場面や、アンケート回答データから「特定の年代かつ特定の回答」の件数を数える場面が典型的です。営業事務担当者であれば、受注データから「担当者別・商品カテゴリ別」の受注件数を数えて営業成績の基礎資料にするケースがよくあります。経理担当者であれば、経費精算データから「勘定科目別・かつ承認済み」の件数を数えて処理漏れがないかチェックする場面もあります。ピボットテーブルでも同様の集計はできますが、他の数式と組み合わせて1枚のシートに結果を表示したい場合はCOUNTIFSが便利です。
COUNTIFSでよくあるエラー・トラブルと対処法
COUNTIFSで最もよく遭遇するエラーです。原因は条件範囲同士の行数・列数が一致していないことです。
- 片方の範囲は100行、もう片方は99行など、範囲のサイズが違う
- 列全体(B:B)と特定行の範囲(C2:C100)を混在させて指定している
対処法として、条件範囲はすべて同じ開始行・終了行で揃えるのが基本です。行数が変動するデータであれば、B:BやC:Cのように列全体を範囲指定しておくと、後で行が増減してもずれる心配がありません。
条件に指定した文字列が、セルの実際の値と完全一致していないことが原因です。
対処法として、参照元データに余分な空白や全角・半角の表記ゆれがないか確認してください。他システムから取り込んだデータは見えない空白が混在しやすいため、TRIM関数で整えてから集計すると安定します。
等号(=)だけで日付を指定しようとして、時刻情報のズレなどで一致しないケースです。
セルに時刻情報が含まれている場合、見た目が同じ日付でも内部値が一致しないことがあります。日付は">="と"<="を組み合わせた範囲指定にすると、時刻の有無に影響されず安定して集計できます。
初心者がつまずきやすいポイントとコツ
- 条件範囲と条件の順番はセット。「範囲1・条件1・範囲2・条件2」のように、範囲と条件を交互に並べる順番を崩すと正しく集計できません。
- 文字列条件は必ずダブルクォーテーションで囲む。"営業部"のようにクォーテーションを忘れるとエラーや意図しない結果になります。
- ワイルドカードが使える。"営業*"と書けば「営業」で始まるすべての文字列を対象にできます。部分一致で数えたいときに便利です。
- 空白セルは条件次第で結果が変わる。「空白ではない」を数えたい場合は条件に"<>"を指定します。単に何も指定しないと意図と違う結果になることがあります。
まとめ
COUNTIFSは複数条件を同時に満たすデータの件数を1つの数式で数えられる、実務で非常に出番の多い関数です。エラーの多くは条件範囲のサイズ不一致や、見えない空白による不一致が原因なので、範囲の指定方法とデータのクレンジングを意識すれば安定して使えるようになります。条件が1つのときはCOUNTIF、2つ以上ならCOUNTIFSと覚えておけば迷いません。数式を一から組み立てるのが不安な方は、下のツールで日本語の空欄を埋めるだけで数式を作成できます。
よくある質問
関連記事
- SUMIFとSUMIFSの違いは?条件付き集計でよくあるエラーと使い分け
- IF・IFS・IFERRORの使い分けとよくあるエラー
- SUBTOTAL関数でフィルター後の合計を正しく出す方法
- AVERAGEIF関数で条件付き平均を出す方法|SUMIFとの関係とよくあるエラー