概要
「田中さんで、東京支店で、しかも 2024 年のデータだけ何件ある?」
「点数が 60 点以上で、ステータスが『合格』の件数は?」
こういう “複数条件を同時に満たす件数” を数えるときに使うのが COUNTIFS 関数です。
COUNTIF が「1 条件の件数カウント」だとしたら、COUNTIFS は “複数条件版 COUNTIF” です。
COUNTIFS の基本(書式と考え方)
COUNTIFS の書式
COUNTIFS の書式はこうなります。
=COUNTIFS(条件範囲1, 条件1, [条件範囲2, 条件2], …)
「条件範囲 → 条件」をペアで最大 127 組まで指定できます。
条件の考え方はとてもシンプルで、
指定したすべての条件を「同時に」満たす行だけをカウントします。
つまり COUNTIFS の条件はすべて AND(かつ)条件 です。
基本パターン(文字条件 × 数値条件)
担当者と支店で絞った件数
前提の表のイメージは次のとおりです。
A列:担当者
B列:支店
C列:売上
「担当者が田中 かつ 支店が東京」の行が何件あるか数えたい場合は、こう書きます。
=COUNTIFS(A2:A100, "田中", B2:B100, "東京")
A列が「田中」で、なおかつ B列が「東京」の行だけがカウントされます。
点数とステータスで絞った件数
A列:氏名
B列:点数
C列:ステータス(「合格」「不合格」など)
「点数が 60 点以上 かつ ステータスが『合格』」の件数を数えたい場合。
=COUNTIFS(B2:B100, ">=60", C2:C100, "合格")
B 列の条件に不等号を使うときは "">=60""" のように文字列で書くのがポイントです。
数値条件を組み合わせた範囲カウント
60 点以上 80 点以下の件数
COUNTIF だと「60 以上」と「80 以下」を別々に書いて工夫が必要ですが、
COUNTIFS なら 1 つの式で表現できます。
B 列に点数が入っているとして、
=COUNTIFS(B2:B100, ">=60", B2:B100, "<=80")
同じ範囲(B2:B100)に、
「60 以上」と「80 以下」の 2 つの条件をかけているイメージです。
2024 年のデータ件数(日付の範囲)
A列に日付が入っているとします。
「2024/1/1 以上 かつ 2024/12/31 以下」の件数を数える式は次のとおりです。
=COUNTIFS(A2:A100, ">=2024/1/1", A2:A100, "<=2024/12/31")
期間指定で「特定の年度・月の件数」を出したいときの定番形です。
セル参照と組み合わせて柔軟な条件にする
担当者名をセルから指定して件数カウント
A列:担当者
E2:集計したい担当者名(ユーザーが入力)
E2 の担当者が何件あるかを数えたい場合は、こう書きます。
=COUNTIFS(A2:A100, E2)
E2 を変えるだけで、誰の件数でも即座に集計できます。
数値のしきい値をセルから指定(動く条件)
B列:売上金額
C列:ステータス
E2:しきい値(基準金額)
「売上が E2 以上 かつ ステータスが『確定』」の件数を数える場合。
=COUNTIFS(B2:B100, ">="&E2, C2:C100, "確定")
">="&E2 は、例えば E2=100000 の場合 "">=100000""" という条件文字列になります。
部分一致・空欄判定と COUNTIFS の応用
部分一致(「田中」を含む かつ 東京支店)の件数
A列:担当者
B列:支店
「担当者名に『田中』を含み、なおかつ支店が『東京』」の行数を数えたい場合。
=COUNTIFS(A2:A100, "*田中*", B2:B100, "東京")
* は「任意の文字列」を意味するワイルドカードで、*田中* は「前後に何か文字があってもよいので、田中を含めばカウント」という条件になります。
空欄・空欄以外+別条件の組み合わせ
たとえば C列が「担当者コメント」、D列が「ステータス」だとして、
「コメントが空欄で、ステータスが『未対応』の行」の件数を数えたい場合は次のとおりです。
=COUNTIFS(C2:C100, "", D2:D100, "未対応")
逆に「コメントが空欄でない かつ ステータスが『完了』」なら、
=COUNTIFS(C2:C100, "<>", D2:D100, "完了")
"" が「空欄」、"<>" が「空欄以外」を意味します。
COUNTIFS を使うときの注意点・コツ
条件範囲どうしは「行数・列数を必ずそろえる」
COUNTIFS では、すべての条件範囲が 同じ大きさ(行数・列数) である必要があります。
例えば A2:A100 と B3:B101 のように開始行や終了行がずれていると、意図しない結果になります。
平均対象範囲が存在する AVERAGEIFS・SUMIFS と同じく、「行の対応関係」が命です。
条件はすべて AND 条件(かつ)
COUNTIFS の条件は「条件1 も 条件2 も 条件3 も…満たす行だけカウント」です。
「A または B」などの OR 条件で件数を出したい場合は、
COUNTIFS を複数個書いて足し合わせるなどの工夫が必要になります。
不等号付き条件は必ず文字列で書く
>=60 のような条件は、生では書けません。
必ず "">=60""" のようにダブルクォーテーションで囲むか、">="&セル参照 の形で書きます。
例題
問題1
A2:A100 に担当者名、B2:B100 に支店名が入っています。
「担当者が田中 かつ 支店が東京」の行数を COUNTIFS で求める式を書いてください。
=COUNTIFS(A2:A100, "田中", B2:B100, "東京")
問題2
B2:B100 に点数、C2:C100 にステータス(「合格」「不合格」)が入っています。
「点数が 60 点以上 かつ ステータスが『合格』」の件数を求める式を書いてください。
=COUNTIFS(B2:B100, ">=60", C2:C100, "合格")
問題3
A2:A100 に日付、B2:B100 に売上が入っています。
2024/1/1 以上 かつ 2024/12/31 以下の日付の行数を COUNTIFS で求める式を書いてください。
=COUNTIFS(A2:A100, ">=2024/1/1", A2:A100, "<=2024/12/31")
問題4
A2:A100 に担当者名、B2:B100 に売上、C2:C100 にステータスが入っています。
E2 に基準売上金額が入っているとき、
「売上が E2 以上 かつ ステータスが『確定』」の件数を求める式を書いてください。
=COUNTIFS(B2:B100, ">="&E2, C2:C100, "確定")
問題5
A2:A100 に担当者名、B2:B100 に支店名が入っています。
「担当者名に『田中』を含み、かつ支店が『東京』」の行数を COUNTIFS で求める式を書いてください。
=COUNTIFS(A2:A100, "*田中*", B2:B100, "東京")
まとめ
COUNTIFS は、
「この条件 と この条件 と この条件…をすべて満たすデータが何件あるか?」
に答えるための 複数条件付き件数カウント関数です。
型は次のように覚えておくと、そのまま使えます。
=COUNTIFS(条件範囲1, 条件1,
条件範囲2, 条件2,
条件範囲3, 条件3, …)
COUNTIF では足りなくなってきたら、
「これは COUNTIFS にできないか?」と一度考える癖をつけてみてください。
実務に近い “複数条件の集計” が、ぐっと自然に書けるようになります。
