COUNTIFS関数の使い方|複数条件でデータを数える
COUNTIFS関数は、複数の条件に一致するセルの個数を数える関数です。「東京支店の4月の受注件数」のように、2つ以上の条件で絞り込んだデータの件数を求められます。データ分析や集計レポートの作成で頻繁に使われます。
COUNTIFS関数の基本構文
=COUNTIFS(条件範囲1, 条件1, [条件範囲2, 条件2], ...)
引数の説明
| 引数 | 説明 | 必須/任意 |
|---|---|---|
| 条件範囲1 | 最初の条件を適用する範囲 | 必須 |
| 条件1 | 条件範囲1に適用する条件 | 必須 |
| 条件範囲2 | 2番目の条件を適用する範囲 | 任意 |
| 条件2 | 条件範囲2に適用する条件 | 任意 |
| … | 最大127組の条件範囲と条件を指定可能 | 任意 |
SUMIFS関数と異なり、合計対象範囲がありません。条件に一致するセルの数だけを返します。
COUNTIF関数との比較
| 項目 | COUNTIF | COUNTIFS |
|---|---|---|
| 条件の数 | 1つのみ | 複数指定可 |
| 範囲サイズの制約 | なし | すべての範囲が同じサイズ |
| 用途 | 単純なカウント | 複数条件のカウント |
条件が1つだけの場合はCOUNTIF関数でも問題ありませんが、COUNTIFS関数で統一しておくと、後から条件を追加する際に修正が少なくて済みます。
実践例1:支店と月を指定した件数カウント
売上データから、特定の支店・月の取引件数を求めます。
| 支店 | 月 | 金額 |
|---|---|---|
| 東京 | 4月 | 500000 |
| 大阪 | 4月 | 300000 |
| 東京 | 5月 | 550000 |
| 大阪 | 5月 | 320000 |
| 東京 | 4月 | 480000 |
=COUNTIFS(A2:A6, "東京", B2:B6, "4月")
結果は2です。A列が「東京」かつB列が「4月」の行が2行あります。
実践例2:数値の範囲条件
特定の金額範囲に該当するデータの件数を数えます。
売上が30万円以上50万円以下の件数を求めます。
=COUNTIFS(C2:C6, ">=300000", C2:C6, "<=500000")
同じ範囲に対して複数の条件を指定することで、範囲条件を表現しています。結果は3件(500000、300000、480000)です。
実践例3:日付範囲の件数カウント
特定の期間内のデータ件数を数える例です。
=COUNTIFS(B2:B100, ">=" & DATE(2026,4,1), B2:B100, "<=" & DATE(2026,4,30))
B列に日付データがある場合、2026年4月中のデータ件数を返します。DATE関数で日付を指定することで、日付の書式に依存しない安定した数式になります。
実践例4:重複データの検出
特定の列で同じ値が何回出現するかを数えます。
=COUNTIFS(A:A, A2)
A列全体でA2と同じ値がいくつあるかを数えます。結果が2以上なら重複データがあることを意味します。IF関数と組み合わせて重複を可視化できます。
=IF(COUNTIFS(A:A, A2)>1, "重複", "")
実践例5:空白でないセルの条件付きカウント
特定の条件を満たし、かつ別の列が空白でないデータの件数を数えます。
=COUNTIFS(A2:A100, "東京", C2:C100, "<>")
A列が「東京」かつC列が空白でない行の件数を返します。「<>」は「空白以外」を意味する条件です。
空白セルだけを数えたい場合は以下のように記述します。
=COUNTIFS(A2:A100, "東京", C2:C100, "")
よくあるエラーと対処法
結果が0になる
条件に一致するデータがない場合は0が返されます。意図しない場合は以下を確認してください。
- 条件の文字列が完全に一致しているか
- 数値と文字列の型が一致しているか(セルの書式を確認)
- 条件範囲の指定が正しいか
- 日付の書式が適切か
#VALUE!エラー
条件範囲のサイズが一致しない場合に発生します。
# エラーになる(範囲サイズが異なる)
=COUNTIFS(A2:A10, "東京", B2:B5, "4月")
# 正しい
=COUNTIFS(A2:A10, "東京", B2:B10, "4月")
ワイルドカードの活用
部分一致でカウントしたい場合はワイルドカードを使います。
# 「東」で始まる値の件数
=COUNTIFS(A2:A100, "東*")
# 「支店」を含む値の件数
=COUNTIFS(A2:A100, "*支店*")
実務での活用テクニック
クロス集計表の作成
COUNTIFS関数を使って、簡易的なクロス集計表を作成できます。行に支店名、列に月名を配置し、交差するセルにCOUNTIFS関数を設定します。
=COUNTIFS($A$2:$A$100, $G3, $B$2:$B$100, H$1)
$記号で適切に絶対参照・複合参照を設定すれば、1つの数式をコピーするだけでクロス集計表全体を作成できます。
COUNTA関数やCOUNTBLANK関数との使い分け
- COUNTA関数: 空白でないセルの数を数える(条件指定なし)
- COUNTBLANK関数: 空白セルの数を数える
- COUNTIF関数: 1つの条件に一致するセルを数える
- COUNTIFS関数: 複数条件に一致するセルを数える
集計の目的に応じて適切な関数を選択してください。
Google スプレッドシートでの互換性
COUNTIFS関数はGoogle スプレッドシートでも同じ構文で利用できます。ワイルドカードや比較演算子の動作も同一です。
まとめ
COUNTIFS関数は複数条件でセルの個数を数える関数です。
- 条件範囲と条件のペアで指定し、最大127組まで指定可能
- 比較演算子で数値や日付の範囲条件を指定できる
- ワイルドカードで部分一致のカウントが可能
- すべての条件範囲は同じサイズにする必要がある
- クロス集計表の作成にも活用できる
データの件数集計は分析の基本です。COUNTIFS関数を使いこなして、効率的なデータ分析を行いましょう。