COUNTIF・COUNTIFS関数について
SUMIF / SUMIFS が「条件付きの合計」なら、COUNTIF / COUNTIFS は「条件付きの個数」を数える関数です。
- 「営業部」に何人いるか
- 「30万円以上の給与」の人が何人いるか
- 「2025年5月」の取引件数
このような 条件付きカウント に使います。基本的な使い方は SUMIF / SUMIFS とほぼ同じなので、それほど難しくは感じないでしょう。

COUNTIF関数の構文
=COUNTIF(範囲, 条件)
- 範囲:カウント対象の範囲
- 条件:何を数えるか
合計範囲がない分、SUMIF よりシンプルです。

具体例で見てみる
社員データで、「営業部に何人いるか」を数えたいとき、
:::excel
A1=社員名
B1=部署
C1=勤務地
D1=給与
A2=田中
B2=営業部
C2=東京
D2=300000
A3=鈴木
B3=人事部
C3=東京
D3=280000
A4=佐藤
B4=営業部
C4=大阪
D4=350000
A5=山田
B5=経理部
C5=東京
D5=320000
A6=高橋
B6=営業部
C6=東京
D6=330000
:::
=COUNTIF(B2:B6, "営業部")
営業部に該当するのは、田中・佐藤・高橋の3人。結果は 3 が返ります。
合計したわけではなく、「該当するセルが何個あるか」を数えた、という点に注意してください。SUMIFは金額を足したけれど、COUNTIFは人数を数えるだけ、です。
COUNTIFS関数の構文
=COUNTIFS(条件範囲1, 条件1, 条件範囲2, 条件2, ...)
複数条件のカウントです。SUMIFSと違って、合計範囲がない ので、いきなり「条件範囲+条件」のペアが始まります。

「営業部 かつ 東京勤務」の人数を数えたいとき、
:::excel
A1=社員名
B1=部署
C1=勤務地
D1=給与
A2=田中
B2=営業部
C2=東京
D2=300000
A3=鈴木
B3=人事部
C3=東京
D3=280000
A4=佐藤
B4=営業部
C4=大阪
D4=350000
A5=山田
B5=経理部
C5=東京
D5=320000
A6=高橋
B6=営業部
C6=東京
D6=330000
:::
=COUNTIFS(B2:B6, "営業部", C2:C6, "東京")
営業部の3人のうち、東京勤務は田中と高橋。佐藤は大阪なので除外されました。結果は 2 です。
SUMIFとSUMIFSでは、合計範囲の位置が入れ替わるため引数の順序に注意が必要でしたが、COUNTIFとCOUNTIFSは、関数名にSを追加するだけで簡単に切り替えられます。「最初からCOUNTIFSだけ使えばいい」とまでは言いませんので、条件の数に応じて自然に使い分けてください。
比較演算子・ワイルドカードも使える
COUNTIF / COUNTIFS でも、比較演算子やワイルドカードが使えます。
「30万円以上の給与の人数」:
:::excel
A1=社員名
B1=部署
C1=勤務地
D1=給与
A2=田中
B2=営業部
C2=東京
D2=300000
A3=鈴木
B3=人事部
C3=東京
D3=280000
A4=佐藤
B4=営業部
C4=大阪
D4=350000
A5=山田
B5=経理部
C5=東京
D5=320000
A6=高橋
B6=営業部
C6=東京
D6=330000
:::
=COUNTIF(D2:D6, ">=300000")
田中(300000)・佐藤(350000)・山田(320000)・高橋(330000) の 4人。鈴木(280000)だけが30万円未満で除外されます。
「営業部 かつ 給与30万以上の人数」:
:::excel
A1=社員名
B1=部署
C1=勤務地
D1=給与
A2=田中
B2=営業部
C2=東京
D2=300000
A3=鈴木
B3=人事部
C3=東京
D3=280000
A4=佐藤
B4=営業部
C4=大阪
D4=350000
A5=山田
B5=経理部
C5=東京
D5=320000
A6=高橋
B6=営業部
C6=東京
D6=330000
:::
=COUNTIFS(B2:B6, "営業部", D2:D6, ">=300000")
営業部かつ30万以上は、田中・佐藤・高橋の 3人。条件を組み合わせるほど、対象がどんどん絞り込まれていきます。
ちょっとした実務シーン
1. 重複チェック
「このリスト、商品コードの重複はないだろうか?」というとき。
=COUNTIF(A:A, "1A001")
返ってきた値が「1」なら、商品コードは1つだけ。「2」以上なら重複しています。
これは、データの 重複チェック に使える定番の使い方です。
ここで初めて出てきたテクニックですが、A:A のように 列全体を範囲指定 することもできます。これまでのレッスンでは練習のために A2:A100 のように行番号まで指定していましたが、列指定なら範囲を毎回考えずに済みます。
COUNTIFは空白セルや関係ない文字列セルを自動で除外するので、列全体を指定しても結果は変わりません。データ量に依存しない、便利な書き方です。
ただし、セル結合があるとうまく動作しないことがあります ので、その点だけご注意ください。
2. 進捗管理
タスクリストで、「完了したタスクの数」を数えたいとき。
- B列:タスクの状態(完了 / 着手中 / 未着手)
=COUNTIF(B:B, "完了")
これで、完了済みのタスク数が出ます。進捗率を出したい場合は、こう書きます。
=COUNTIF(B:B,"完了") / (COUNTA(B:B)-1)
COUNTA(B:B)-1 で見出し行を除いた全タスク数を出し、それで完了数を割る、という考え方です。割り算の分母を () で囲む のがポイント。囲まないと、-1 が割り算のあとに適用されて計算がおかしくなります。
3. クロス集計
部署別・役職別の人数表を作りたいとき。
- F列:部署名(営業部、人事部、経理部…)
- G列:役職名(部長、課長、社員…)
- H列:そのペアの人数
H2 に、
=COUNTIFS(B:B, F2, C:C, G2)
と入れて下にコピーすれば、各部署・各役職の人数が一気に集計できます。
「個数」を数える3兄弟との関係
レッスン034で学んだ COUNT 3兄弟(COUNT, COUNTA, COUNTBLANK)と合わせると、こんな構成になります。
- COUNT:数値の入っているセルの個数
- COUNTA:データが入っているセルの個数(何でも)
- COUNTBLANK:空白セルの個数
- COUNTIF:条件付き、1つの条件
- COUNTIFS:条件付き、複数の条件
「個数を数える」だけで、これだけの選択肢があります。目的に応じて使い分け られるようにしてください。
ちょっとした応用:「以上 / 以下」を範囲で指定
「30〜40歳の人数」のような 範囲指定 のカウントは、COUNTIFS で2つの条件として書きます。
:::excel
A1=名前
B1=年齢
A2=田中
B2=28
A3=鈴木
B3=35
A4=佐藤
B4=42
A5=山田
B5=31
A6=高橋
B6=39
:::
=COUNTIFS(B2:B6, ">=30", B2:B6, "<=40")
「30歳以上」と「40歳以下」を 両方満たす 人数、という意味です。
鈴木(35)・山田(31)・高橋(39) の 3人。田中(28)は若すぎ、佐藤(42)は超えているので除外。同じ年齢列を >=30 と <=40 で 2回条件にする のがコツです。
これは年齢分析、所得分析、点数分析など、ビジネスでも教育でも、本当によく使うパターンです。
SUMIFS関数で日付の範囲指定をしたときと、同じ発想ですね。
まとめ
- COUNTIF / COUNTIFS で、条件付きカウント
- 構文:=COUNTIF(範囲, 条件) / =COUNTIFS(条件範囲1, 条件1, ...)
- SUMIFと違って、合計範囲がない(個数だけ数える)
- 比較演算子、ワイルドカード、複数条件、すべて使える
- 重複チェック、進捗管理、クロス集計と幅広く活用可能
ここまでで、IF系の集計関数の 基礎セット が揃いました。
Level 4 を終えて
030 の「関数とは?」から始まった Level 4 は、これで完走です。お疲れさまでした。
ここまでで身についたのは、
- 四則演算とセル参照(030)
- SUM / AVERAGE / MAX / MIN / COUNT 3兄弟(031〜034)
- 相対参照 / 絶対参照 / 複合参照(035〜037)
- TODAY / NOW / EDATE / EOMONTH(038〜040)
- SUMIF / SUMIFS / COUNTIF / COUNTIFS(041〜043)
ひとつひとつは小さな関数ですが、組み合わさると、実務の集計・分析がかなり広い範囲でカバーできます。
次の Level 5 では、ここで学んだ関数たちを土台に、もう一段上の使い方を見ていきます。引き続き、がんばっていきましょう!
ショートカット
※このレッスンに対応するショートカットはありません。