=COUNTIFS(A2:A7,"North",C2:C7,">50")は、A列がNorthでC列が50より大きい行を数えます。COUNTIFSは範囲と条件の組を受け取り、すべての条件を満たす行だけを数えます。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Condition | Count | |
| 2 | North | Apple | 120 | North, over 50 | 2 | |
| 3 | South | Pear | 45 | North Apple | 2 | |
| 4 | North | Pear | 80 | North only | 3 | |
| 5 | East | Apple | 55 | |||
| 6 | South | Apple | 200 | |||
| 7 | North | Apple | 30 |
Northの行は3つあり、そのうち2つが50より大きいので、F2は2を表示します。C7を90に変えると、最後のNorthの行も数えられます。F3は2つの文字列の条件、NorthとAppleを組み合わせています。
COUNTIFS関数の構文
=COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2], ...)
- 条件はそれぞれ範囲と条件の組です。組は127個まで指定できます。
- 条件の書き方はCOUNTIFとまったく同じです:
"North"、">50"、"<>"、"*apple*"、または">"&F2のように&で演算子につないだセル。 - すべての範囲は同じ大きさでなければなりません。範囲は行ごとに読まれます。各範囲の1つ目のセルが1行、各範囲の2つ目のセルが次の1行です。
- 条件はANDで結ばれます。ORについては下で説明します。
COUNTIFSはExcel 2007以降のすべてのバージョンとGoogleスプレッドシートで使えます。
COUNTIFSで2つの数値の間を数える
ある幅に入る値を数えるには、同じ範囲を2回使い、1回目に下限を、2回目に上限を指定します。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Setting | Value | |
| 2 | North | Apple | 120 | Min | 50 | |
| 3 | South | Pear | 45 | Max | 150 | |
| 4 | North | Pear | 80 | Between | 3 | |
| 5 | East | Apple | 55 | |||
| 6 | South | Apple | 200 | |||
| 7 | North | Apple | 30 |
120、80、55が50から150の間に入るので、F4は3を表示します。F2とF3の境界を変えると、件数もそれに合わせて変わります。">="と"<="は境界を含みます。含めないときは">"と"<"を使います。
COUNTIFSで2つの日付の間を数える(期間指定)
日付も同じように扱えます。開始日と終了日はセルに入れて演算子につなげれば、引用符の中に日付を打ち込まずに済みます。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Sales | Date | Setting | Value | |
| 2 | North | 120 | 2026-01-05 | Start | 2026-02-01 | |
| 3 | South | 45 | 2026-01-12 | End | 2026-02-28 | |
| 4 | North | 80 | 2026-02-03 | Orders | 2 | |
| 5 | East | 55 | 2026-02-18 | North orders | 1 | |
| 6 | South | 200 | 2026-03-02 | |||
| 7 | North | 30 | 2026-03-20 |
2月の注文は2件で、そのうち1件がNorthです。F5には3つの組があります。1つは地域、2つは日付の期間です。日付に時刻が付いている(2026-02-28 16:30)と、"<="&F3は最終日の0:00より後をすべて取りこぼします。その場合は"<"&F3+1を使います。
COUNTIFSでOR条件を使う
COUNTIFSにはORがありません。NorthまたはSouthで50を超える注文を数えるには、地域の条件に波かっこでリストを渡します。するとCOUNTIFSは項目ごとに件数を1つずつ返し、SUMがそれを合計します。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Condition | Count | |
| 2 | North | Apple | 120 | North or South, over 50 | 3 | |
| 3 | South | Pear | 45 | Same, two COUNTIFS | 3 | |
| 4 | North | Pear | 80 | |||
| 5 | East | Apple | 55 | |||
| 6 | South | Apple | 200 | |||
| 7 | North | Apple | 30 |
どちらの数式も3になります。50を超えるNorthの行が2つとSouthの行が1つです。リストが長くなるほど、波かっこ版のほうが短く書けます。リストは1つの条件だけに使ってください。同じ数式に2つのリストがあると、すべての組み合わせを試すのではなく項目どうしを順に組にするので、意図した結果になることはまずありません。
項目がセルに入っている(たとえばE8:E9)なら、=SUMPRODUCT(COUNTIFS(A2:A7,E8:E9,C2:C7,">50"))で波かっこなしに同じことができます。
COUNTIFSで空白以外を数える
"<>"は「空白でない」、""は「空白」という意味なので、出荷日の列を見ればまだ完了していない注文がわかります。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Order | Shipped | Condition | Count | |
| 2 | North | A-101 | 2026-01-08 | North, shipped | 2 | |
| 3 | South | A-102 | North, not shipped | 1 | ||
| 4 | North | A-103 | 2026-02-06 | |||
| 5 | East | A-104 | 2026-02-20 | |||
| 6 | South | A-105 | ||||
| 7 | North | A-106 |
Northの注文のうち2件には出荷日があり、1件にはありません。C7に日付を入力すると、件数がF3からF2に移ります。空の文字列("")を返す数式は、""でも"<>"でも数えられます。回避する方法はCOUNTIFで空白以外を数えるで説明しています。
練習: 2つの条件
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Condition | Count | |
| 2 | North | Apple | 120 | South Apple | ||
| 3 | South | Pear | 45 | |||
| 4 | North | Pear | 80 | |||
| 5 | East | Apple | 55 | |||
| 6 | South | Apple | 200 | |||
| 7 | North | Apple | 30 | |||
| 8 | South | Apple | 75 |
やってみよう: 地域がSouthで商品がAppleの行を数えてください。数式はF2に書きます。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Sales | Date | Setting | Value | |
| 2 | North | 120 | 2026-01-05 | Start | 2026-01-01 | |
| 3 | South | 145 | 2026-01-12 | End | 2026-02-28 | |
| 4 | North | 80 | 2026-02-03 | Count | ||
| 5 | East | 155 | 2026-02-18 | |||
| 6 | South | 200 | 2026-03-02 | |||
| 7 | North | 30 | 2026-03-20 | |||
| 8 | West | 110 | 2026-02-25 |
やってみよう: F2の日付からF3の日付まで(両端を含む)の注文のうち、売上が100以上のものを数えてください。数式はF4に書きます。
COUNTIFSが#VALUE!や0を返す理由
- 範囲の大きさが違う。
=COUNTIFS(A2:A7,"North",C2:C6,">50")は#VALUE!を返します。A2:A7は6セル、C2:C6は5セルだからです。すべての範囲の始まりと終わりを同じ行にそろえてください。 - 決して成り立たないAND。
=COUNTIFS(A2:A7,"North",A2:A7,"South")は常に0です。1つのセルが両方になることはありません。これはORなので、上の波かっこ版を使ってください。 - 引用符の中に打ち込んだ日付。
">=1/2/2026"はシステムの日付の順序で読まれます。日付はセルに入れて">="&F2と書いてください。 - 演算子とセルが引用符の中にある。
">=F2"はF2という文字列と比べます。">="&F2と書いてください。
COUNTIFSは行を数えます。同じ行について列を合計するなら、引数がほぼ同じSUMIFSを使います。COUNTIFSで表せない条件(ある列と別の列の比較、行ごとの計算)にはSUMPRODUCTを使います。
よくある質問
COUNTIFとCOUNTIFSの違いは何ですか?
COUNTIFが受け取るのは1つの範囲と1つの条件です。COUNTIFSは範囲と条件の組をいくつでも受け取り、そのすべてを満たす行を数えます:=COUNTIFS(A2:A7,"North",C2:C7,">50")。組が1つなら、COUNTIFSはCOUNTIFと同じ結果になります。
COUNTIFSで2つの日付の間を数えるには?
日付の列を2回使い、それぞれに境界を1つずつ指定します。=COUNTIFS(C2:C7,">="&F2,C2:C7,"<="&F3)は、F2からF3までの日付を両端を含めて数えます。
COUNTIFSでOR条件を使うには?
COUNTIFSは条件を必ずANDで結びます。ORにするには、1つの条件に波かっこでリストを渡して結果を合計します:=SUM(COUNTIFS(A2:A7,{"North","South"},C2:C7,">50"))。
COUNTIFSが#VALUE!を返すのはなぜですか?
範囲の大きさがそろっていないからです。COUNTIFSのすべての範囲は行数と列数が同じでなければならないので、A2:A7とC2:C6を組にはできません。
COUNTIFSで2つの数値の間を数えるには?
同じ範囲を2回使い、境界を1つずつ指定します。=COUNTIFS(C2:C7,">=50",C2:C7,"<=150")は50から150までの値を両端を含めて数えます。境界を含めないときは">"と"<"を使います。