ExcelのCOUNTIFS関数の使い方!複数条件でカウントする方法
ExcelのCOUNTIFS関数で複数条件を満たすデータをカウントする方法を解説。数値の範囲指定や日付の期間指定、OR条件の作り方、クロス集計表の作成手順までわかりやすく紹介します。
著者 Ayoub Farid · · 4 分で読めます
COUNTIFS関数は、指定したすべての条件を満たす行(セル)の個数を数えるExcel関数です。「3ドル以上のコーヒーの注文は何件あるか?」「3月に受付されて、現在も対応中の案件はいくつあるか?」といった集計に役立ちます。単一条件で集計するCOUNTIF関数を、複数条件に対応できるように拡張したものだと考えるとイメージしやすいでしょう。
構文
=COUNTIFS(range1, criteria1, range2, criteria2, ...)
指定するそれぞれのセル範囲は、すべて同じサイズ(行数・列数)である必要があります。
基本的な使い方の例
| A | B | C | |
|---|---|---|---|
| 1 | 商品 | カテゴリ | 価格 |
| 2 | エスプレッソ | コーヒー | 2.50 |
| 3 | ラテ | コーヒー | 3.50 |
| 4 | モカ | コーヒー | 4.00 |
| 5 | マフィン | フード | 3.00 |
価格が3ドルを超えるコーヒーの品数を数えるには、次のように入力します。
=COUNTIFS(B2:B5,"Coffee",C2:C5,">3") → 2
2つの数値の間(以上・以下)を指定する
同じセル範囲を2回指定することで、数値の範囲を絞り込めます。
=COUNTIFS(C2:C100,">=10",C2:C100,"<=20")
2つの日付の間(期間)を指定する
セルF1に開始日、セルF2に終了日が入力されている場合は、次のように記述します。
=COUNTIFS(D2:D500,">="&F1,D2:D500,"<="&F2)
比較演算子とセルを結合するために「&」を使います。これは、月ごとの件数を集計する際の定番パターンです。
OR条件(いずれかを満たす)を指定する方法
COUNTIFS関数は基本的に「AND条件(すべて満たす)」として処理されます。「コーヒー または お茶」のようなOR条件でカウントしたい場合は、2つのCOUNTIF関数を足し算します。
=COUNTIF(B2:B100,"Coffee")+COUNTIF(B2:B100,"Tea")
または、配列定数を使って1つの数式にまとめることも可能です。
=SUM(COUNTIFS(B2:B100,{"Coffee","Tea"}))
集計表を作成する
セルF2:F4にカテゴリ一覧、セルG1:I1に各月を並べた集計表を作成する場合、セルG2に以下の数式を入力します。
=COUNTIFS($B$2:$B$500,$F2,$D$2:$D$500,G$1)
「$」記号を適切に付けることで、右や下へオートフィルして数式をコピーしても参照先がずれません。これは複合参照の便利な活用例です。
よくあるミス
- セル範囲のサイズが異なる: エラー「
#VALUE!」が発生します。 - 検索条件に日付を直接文字列で入力している:
">="&DATE(2026,3,1)のようにDATE関数を使うか、日付が入ったセルを参照してください。 - OR条件のつもりで指定している: COUNTIFS関数は常にAND条件として判定されます。
よくある質問
Excelで2つの条件を指定してカウントするにはどうすればよいですか?
=COUNTIFS(条件範囲1, 条件1, 条件範囲2, 条件2)と入力します。例えば、=COUNTIFS(B:B,"Coffee",C:C,">3")のように指定します。
COUNTIFS関数でOR条件は使えますか?
直接OR条件を指定することはできません。複数のCOUNTIFS関数を「+」で足し算するか、条件を波括弧で囲んだ配列として渡し、SUM関数で合計してください。
COUNTIFS関数で特定の月のデータをカウントするには?
「月初日以上」と「月末日以下」という2つの日付条件を指定して集計します。
GoogleスプレッドシートでもCOUNTIFS関数は使えますか?
はい、Googleスプレッドシートでもまったく同じ構文で使用できます。