「”営業部”で”達成”のデータって何件あるんだろう?」と思ったことはありませんか。条件が1つならCOUNTIF関数で対応できますが、2つ以上の条件を同時に満たすセルを数えたい場面も多いですよね。
そんなときに活躍するのがCOUNTIFS関数です。条件範囲と検索条件のペアを並べるだけで、すべての条件を満たすセルの個数をサッと返してくれます。
この記事では、COUNTIFS関数の基本から実務での活用パターンまでまとめて解説します。日付範囲の集計やエラー対処法もカバーしているので、ぜひ参考にしてください。
この記事は次のような人におすすめ
- 複数の条件をすべて満たすセルの個数を数えたい
- 「部署×ステータス」や「期間×担当者」のクロス集計をしたい
- COUNTIF関数との違いがよくわからない
- SUMIFS関数やAVERAGEIFS関数との使い分けを整理したい
COUNTIFS関数とは?
COUNTIFS関数は、複数の条件をすべて満たすセルの個数を返す関数です。読み方は「カウントイフエス」で、COUNT(数える)+ IFS(複数の条件)が由来です。
たとえば、売上管理表で「部署が”営業”」かつ「ステータスが”達成”」の件数を数えたいとします。COUNTIFS関数なら条件範囲と検索条件のペアを2つ並べるだけで、両方を満たすセルの個数がすぐにわかります。
COUNTIF関数との一番の違いは、条件を複数指定できる点です。条件が1つだけならCOUNTIF関数、2つ以上ならCOUNTIFS関数と覚えておくとシンプルです。
NOTE
COUNTIFS関数はExcel 2007以降のすべてのバージョンで使用できます。Googleスプレッドシートでも同じ書式で利用可能です。
COUNTIFS関数の書き方(構文と引数)
基本構文
=COUNTIFS(条件範囲1, 検索条件1, [条件範囲2, 検索条件2], ...)
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 条件範囲1 | 必須 | 1つ目の条件を検索するセル範囲 |
| 検索条件1 | 必須 | 1つ目の条件(文字列・数値・セル参照・比較式) |
| 条件範囲2 | 省略可 | 2つ目の条件を検索するセル範囲 |
| 検索条件2 | 省略可 | 2つ目の条件 |
| … | 省略可 | 3つ目以降のペアも同様に追加可能(最大127ペア) |
ポイントは「条件範囲と検索条件をペアで指定する」という点です。条件を増やしたいときはペアを追加するだけなので、書き方のルールはシンプルです。
条件範囲のサイズを揃える
COUNTIFS関数では、すべての条件範囲の行数と列数を同じにする必要があります。たとえば条件範囲1がA2:A30なら、条件範囲2もB2:B30のように同じ行数にします。サイズが異なると#VALUE!エラーになるので注意してください。
COUNTIFS関数の基本的な使い方
ここでは売上管理表を使って基本的な動作を確認します。A列に「部署」、B列に「担当者」、C列に「売上」、D列に「ステータス」が入っている想定です。
2つの条件で数える
部署が「営業」かつステータスが「達成」の件数を数えます。
=COUNTIFS(A2:A50, "営業", D2:D50, "達成")
A列が「営業」であり、かつD列が「達成」であるセルの個数を返します。どちらか一方だけ満たす行はカウントされません。
3つの条件で数える
さらに担当者を絞り込むこともできます。
=COUNTIFS(A2:A50, "営業", D2:D50, "達成", B2:B50, "田中")
「営業部」「達成」「田中さん」の3条件すべてを満たす件数が返ります。ペアを追加するだけなので、条件が増えても書き方は同じです。
比較演算子を使って数える
数値の範囲を条件にすることもできます。売上が100万円以上のデータを数える例です。
=COUNTIFS(A2:A50, "営業", C2:C50, ">=1000000")
比較演算子(>=, <=, >, <, <>)を使うときは、演算子と数値をまとめてダブルクォーテーションで囲みます。
COUNTIFS関数の実務活用パターン
期間×部署の集計 ── 日付範囲で絞り込む
日付を条件にして特定期間のデータを数えるケースです。E列に日付が入っている場合に、2025年4月の営業部データを数えます。
=COUNTIFS(A2:A50, "営業", E2:E50, ">="&DATE(2025,4,1), E2:E50, "<="&DATE(2025,4,30))
日付条件は「以上」と「以下」の2ペアで期間を表現します。DATE関数を使えば年月日を明示できるので、間違いが起きにくくなります。
同じ条件範囲(E2:E50)を2回指定している点に注目してください。「開始日以上」「終了日以下」をそれぞれ別のペアとして書くのがポイントです。
ステータス×担当者 ── クロス集計を作る
「誰がどのステータスか」を一覧表にまとめるケースです。
=COUNTIFS(B2:B50, G2, D2:D50, H1)
G列に担当者名、H行にステータス名を並べておき、この数式をコピーします。G2とH1をそれぞれ列固定・行固定($G2, H$1)にすれば、コピーだけでクロス集計表が完成します。
=COUNTIFS($B$2:$B$50, $G2, $D$2:$D$50, H$1)
絶対参照と複合参照を組み合わせるのがコツです。
ワイルドカード ── あいまい条件を組み合わせる
「”東京”を含む拠点」かつ「売上100万以上」のような条件も指定できます。
=COUNTIFS(A2:A50, "*東京*", C2:C50, ">=1000000")
ワイルドカード(*)はCOUNTIF関数と同じように使えます。任意の1文字だけ許容したいときは?を使います。
「以外」を条件にする ── 不一致の件数を数える
「ステータスが”未着手”以外」のデータを数えるケースです。
=COUNTIFS(A2:A50, "営業", D2:D50, "<>未着手")
<>(ノットイコール)を条件に使うと、指定した値以外のセルをカウントできます。
よくあるエラーと対処法
COUNTIFS関数でつまずきやすいポイントをまとめました。
| 症状 | 原因 | 対処法 |
|---|---|---|
| 結果が0になる | 全角/半角の不一致 | ASC関数(半角に統一)やJIS関数(全角に統一)で揃える |
| 結果が0になる | 数値が文字列として格納されている | 「区切り位置」機能やVALUE関数で数値に変換する |
| 結果が0になる | 日付条件の書き方が不正 | ">="&DATE(2025,4,1) のように&で結合する |
| #VALUE! エラー | 条件範囲のサイズが不一致 | すべての条件範囲の行数・列数を揃える |
| #VALUE! エラー | 検索条件の文字列が255文字超 | 条件を短くするか、SUMPRODUCT関数で代替する |
| 想定より多い | 大文字/小文字を区別していない | COUNTIFS関数は大文字・小文字を区別しない仕様 |
条件範囲のサイズ不一致に注意
COUNTIFS関数で最も多いエラーが、条件範囲のサイズ不一致です。たとえば条件範囲1がA2:A50なのに条件範囲2がB2:B100だと#VALUE!エラーになります。
すべての条件範囲の開始行と終了行を揃えるように気をつけてください。
日付条件のよくある間違い
日付を条件にするとき、">=2025/4/1" のように文字列で書くと正しく比較されないことがあります。DATE関数を使って ">="&DATE(2025,4,1) と書くのが確実です。
&演算子で比較演算子の文字列とDATE関数をつなげるのがポイントです。
COUNTIFS関数と似た関数の違い・使い分け
COUNT系関数の比較表
| 関数名 | カウント対象 | 条件指定 | 主な用途 |
|---|---|---|---|
| COUNT関数 | 数値セル | なし | 数値の入力数を数える |
| COUNTA関数 | 空白でないセル | なし | 入力済みセルを数える |
| COUNTBLANK関数 | 空白セル | なし | 未入力セルを数える |
| COUNTIF関数 | 条件に合うセル | 1つ | 「出席」や「>=80」など条件付き |
| COUNTIFS関数 | 条件に合うセル | 複数 | 「A組かつ80点以上」など複数条件 |
COUNTIFとCOUNTIFSの違い
もっとも混同しやすいのがこの2つです。
- COUNTIF: 条件を1つだけ指定する(
=COUNTIF(範囲, 条件)) - COUNTIFS: 条件を複数指定できる(
=COUNTIFS(範囲1, 条件1, 範囲2, 条件2, ...))
引数の構造も少し異なります。COUNTIF関数は「範囲, 条件」の2引数ですが、COUNTIFS関数は「条件範囲, 条件」のペアを繰り返す形式です。条件が1つだけの場合、COUNTIFS関数でも同じ結果が出ます。
=COUNTIF(A2:A50, "営業")
=COUNTIFS(A2:A50, "営業")
どちらも同じ結果を返しますが、将来条件が増える可能性があるなら最初からCOUNTIFS関数で書いておくと修正がラクです。
SUMIFS関数・AVERAGEIFS関数との使い分け
複数条件を使う集計関数は3つあります。やりたいことに合わせて選んでみてください。
| 関数名 | 何を返すか | 使いどころ |
|---|---|---|
| COUNTIFS関数 | 条件を満たすセルの個数 | 件数を知りたいとき |
| SUMIFS関数 | 条件を満たすセルの合計 | 金額や数量の合計を出したいとき |
| AVERAGEIFS関数 | 条件を満たすセルの平均 | 平均点や平均単価を出したいとき |
3つとも「条件範囲, 検索条件」のペアで条件を指定する点は共通です。COUNTIFS関数の書き方を覚えれば、SUMIFS関数やAVERAGEIFS関数もすぐに使えるようになりますよ。
なお、条件が1つの場合はCOUNTIF関数・SUMIF関数を使います。複数条件が必要になったらCOUNTIFS・SUMIFSに切り替えましょう。
TIP
AND関数はIF関数の中で「かつ」を表現する関数です。COUNTIFS関数は「かつ」の条件を引数のペアで表すため、AND関数を組み合わせる必要はありません。
まとめ
COUNTIFS関数は「複数の条件をすべて満たすセルの個数を数える」関数です。
- 構文:
=COUNTIFS(条件範囲1, 検索条件1, 条件範囲2, 検索条件2, ...) - 条件範囲と検索条件のペアを並べるだけで、条件をいくつでも追加できる
- 日付範囲の集計は「以上」「以下」の2ペアで期間を表す
- 条件範囲のサイズは必ず揃える(不一致で#VALUE!エラー)
- 条件が1つだけならCOUNTIF関数、合計ならSUMIFS関数を使う
まずは「部署×ステータス」の2条件から試してみてください。ペアを追加するだけで条件を増やせるので、集計の幅がぐっと広がりますよ。
Excel関数一覧
関数の一覧は以下の記事からどうぞ。
エラー値についてのまとめ記事
エラーの種類と対処方法をまとめています。
