Excel で複数の条件に一致するセルを数えたいときは、COUNTIFS 関数を使います。範囲と条件をペアで並べるだけで、AND 条件(すべてを満たすもの)の件数を一発で出せます。
この記事では、基本の書き方から 4 つの条件パターン(完全一致・比較演算子・ワイルドカード・セル参照)、実践的な集計例、よくある #VALUE! エラーの直し方、テーブル化して行追加に自動追従させる方法までを、Excel 2024 の実機画面で確認しながら整理します。
まずは結論の式から:
=COUNTIFS(B2:B21,"東京",C2:C21,"営業部")
これで「支店が東京、かつ部署が営業部」の件数が出ます。
COUNTIFS 関数の基本構文
COUNTIFS は、範囲と条件のペアを並べた分だけ AND 条件を重ねられます。書式は次のとおりです。
=COUNTIFS(範囲1, 条件1, [範囲2, 条件2], …)
- 範囲1, 範囲2, …: 条件を判定するセル範囲。すべて同じサイズで指定します(サイズが合わないと
#VALUE!になります) - 条件1, 条件2, …: 各範囲に対する判定条件。文字列・数値・比較演算子・ワイルドカード・セル参照のいずれでも書けます
COUNTIFS は Excel 2007 以降、Microsoft 365 すべてで使えます。
COUNTIF との違い
よく似た関数に COUNTIF(末尾 S なし)があります。COUNTIF は「範囲1つ・条件1つ」の単一条件用で、COUNTIFS は「範囲と条件のペアを複数指定できる」複数条件用です。条件が 1 つだけでも COUNTIFS は使えるので、「迷ったら COUNTIFS」で覚えて問題ありません。

条件の書き方 4 パターン
COUNTIFS の条件には、次の 4 つの書き方があります。どれも同じ第 2 引数(条件1)の位置に入れるだけなので、使い分けを覚えればどんな集計にも応用できます。
| パターン | 書き方 | 例 | ヒットする値 |
|---|---|---|---|
| 完全一致 | "値" | "東京" | 「東京」と完全一致 |
| 比較演算子(以上・以下) | ">=数値" | ">=100000" | 10 万以上 |
| 比較演算子(未満) | "<数値" | "<500000" | 50 万未満 |
| 不等号(〜以外) | "<>値" | "<>佐藤" | 佐藤以外(空白も含む) |
| 空白以外 | "<>" | "<>" | 空白でないもの |
| ワイルドカード(部分一致) | "*値*" | "*電*" | 「電」を含む |
| ワイルドカード(先頭) | "値*" | "文*" | 「文」で始まる |
| ワイルドカード(末尾) | "*値" | "*電" | 「電」で終わる |
| ワイルドカード(? = 1 文字) | "??" | "??" | ちょうど 2 文字 |
| セル参照 | セル | I2 | I2 の値と完全一致 |
| セル参照+演算子 | "演算子"&セル | ">="&I4 | I4 の値以上 |
ポイント: 比較演算子やワイルドカードを使う場合は、必ずダブルクォート " で囲んで文字列として渡す 必要があります。=COUNTIFS(F2:F21, >=100000) のようにクォートなしで書くと、Excel が数式エラーとして拒否します。
ワイルドカードの詳しい使い分け(半角 * と全角 * の挙動差、? の桁数指定、配列 OR、空白セル混在の罠など)は Excelで文字を含むセルをCOUNTIFSで数える方法 で 5 つの罠を Excel 2024 実機で網羅検証しています。
実践例: 売上データから 5 つの集計を出す
上のサンプル表(A2:F21 の 20 行データ)に対して、実際に 5 通りの集計を並べてみます。まずは単一条件の最小例から。
例 1: 売上金額が 10 万円以上の件数(比較演算子のみ)
=COUNTIFS(F2:F21,">=100000")
売上金額(F 列)が 10 万円以上のデータを数えます。範囲・条件のペアが 1 組だけでも COUNTIFS は使えます。比較演算子 >= を使うときは、条件全体を ダブルクォートで囲む のを忘れないでください。このサンプルでは結果は 10 件です。
例 2: 支店 × 部署で数える(完全一致 2 条件)
=COUNTIFS(B2:B21,"東京",C2:C21,"営業部")
支店(B 列)が「東京」で、部署(C 列)が「営業部」のデータだけを数えます。このサンプル表では結果は 7 件です。

例 3: 商品カテゴリをワイルドカードで数える
=COUNTIFS(D2:D21,"*電*")
商品カテゴリ(D 列)に「電」という文字を含むものを数えます。このサンプルでは「家電」が該当して 10 件です。先頭と末尾の * が「任意の文字列」を表すので、「家電」「電気製品」「電卓」など、どこに「電」があってもヒットします。

*電* で部分一致させた例。家電カテゴリ 10 件がヒットします。例 4: 日付範囲で数える(比較演算子+セル参照)
=COUNTIFS(A2:A21,">="&I4,A2:A21,"<="&I5)
受注日(A 列)が I4 セルの日付以降、かつ I5 セルの日付以前のデータを数えます。I4=2026/2/1、I5=2026/2/28 なので、2026 年 2 月の件数で 7 件です。
ポイントは ">="&I4 の書き方です。比較演算子とセル参照を同じ条件で使うときは、演算子部分をダブルクォートで囲み、&(アンパサンド)でセル参照と連結 します。">=I4" のように全部ダブルクォートで囲むと、「I4」という文字列と比較してしまい結果が 0 になるので注意してください。

& で連結するのがポイントです。例 5: 条件をすべてセル参照で渡す
=COUNTIFS(B2:B21,I2,C2:C21,I3)
支店の値を I2 セル、部署の値を I3 セルから読み取って集計します。I2 の値を切り替えるだけで、東京・大阪・名古屋の件数をワンタッチで比較できるようになります。
文字列を直接書く "東京" と違って、セル参照ならダブルクォートは不要です。
COUNTIFS でよくあるエラーと対処
#VALUE!: 範囲サイズが合わない
COUNTIFS の最も多いエラーが #VALUE! です。原因は 範囲のサイズ(行数)がそろっていない こと。たとえば次の式は範囲 1 が 5 行(A4:A8)、範囲 2 が 2 行(B4:B5)で長さが違うため、エラーになります。
=COUNTIFS(A4:A8,"東京",B4:B5,"営業部")

#VALUE! になります。正しくは下段のように B4:B8 に揃えます。対処はシンプルで、すべての範囲を同じ行数にそろえる だけです。上の例なら B4:B5 を B4:B8 に直せば正しく 2 件と返ります。列全体で指定する A:A を使う場合も、すべての範囲を列全体で揃えてください。
結果が 0 になってしまう
エラーにはならないのに結果が想定より少ない、もしくは 0 になるときは、次の 3 つをまず疑います。
- 全角と半角の数字が混在している:
">=100000"(全角の 10 万)は絶対にヒットしません。必ず半角で">=100000"と書きます - 英字の大文字・小文字は区別されない:
"Tokyo"と"TOKYO"は同じ扱いですが、日本語の全角と半角カナは区別されます("東京"と"トウキョウ"は別) - セルの中身が文字列扱いになっている: 数値のはずが緑の三角マーク付きの文字列になっていると、
">=100000"の比較にヒットしません。対象セルの表示形式と中身を確認してください
応用: 同じ範囲で OR 条件を書く(東京または大阪)
COUNTIFS はそのままでは AND 条件しか書けませんが、配列定数と SUM を組み合わせると「同じ範囲で A または B」の OR 条件も書けます。
=SUM(COUNTIFS(B2:B21,{"東京","大阪"}))条件部分を {"東京","大阪"} という配列定数にすると、COUNTIFS が「東京の件数」「大阪の件数」の 2 要素の配列を返し、それを SUM で合計します。このサンプルでは東京 10 件 + 大阪 4 件で 14 件です。

{"東京","大阪"} を SUM で囲むことで OR 条件になります。3 つ以上の OR もそのまま並べられます: {"東京","大阪","名古屋"}。もっと複雑な OR 条件には、SUMPRODUCT や FILTER を使う方法もあります。詳細は関連記事をご参照ください。
テーブル構造化参照で行追加に自動追従させる
固定範囲 B2:B21 で書いた数式は、後から行を追加しても範囲は広がりません。20 行目まで集計するつもりが、21 行目以降に追加したデータは集計に入らない、という落とし穴があります。
これを防ぐには、データ範囲を テーブル化(Ctrl+T) して構造化参照で指定します。
=COUNTIFS(売上テーブル[支店],"東京")

売上テーブル[支店] の形で指定すると、行追加にも自動で追従します。テーブル化した範囲の末尾に新しい行を追加すると、テーブルが 1 行下に広がり、COUNTIFS の結果も自動で更新されます。下は「東京 300,000 円」という行を 8 行目に追加した直後の画面です。東京の件数が 2 → 3 件、10 万円以上の件数が 3 → 4 件に、手を触れずに更新されています。

頻繁にデータが追加される売上台帳や在庫表では、最初からテーブル化しておく のがおすすめです。
関連記事(角度別の深掘り)
COUNTIFS のより細かい使い方については、以下の角度別の記事でそれぞれ詳しく解説しています。
- Excel で COUNTIFS 関数に「以外」を使う方法|特定文字・空白以外・セル参照 — 「
<>」の深掘り(空白を含むかどうかの罠) - Excel で COUNTIFS 関数を使って日付が期間内の件数を数える方法 — 日付範囲の具体例を深掘り
- Excel で COUNTIFS 関数を使って日付が以後・以前の件数を数える方法 — 片側だけの日付比較
- Excel で COUNTIFS 関数にワイルドカードを使う方法 —
*と?の詳細 - COUNT、COUNTIFS 関数で OR 条件が使用できないため代替手段を検討する — SUMPRODUCT など他の OR 条件の書き方
- Excel での重複レコードを発見する方法 (COUNTIF と COUNTIFS 関数) — 重複検出の実例
まとめ
- COUNTIFS の基本形は
=COUNTIFS(範囲1, 条件1, 範囲2, 条件2, …)。範囲と条件を ペアで並べる だけ - 条件の書き方は 4 パターン: 完全一致・比較演算子・ワイルドカード・セル参照。比較演算子やワイルドカードは必ずダブルクォートで囲む
- セル参照と演算子を組み合わせるときは
">="&I4のように&で連結する - エラーで一番多いのは
#VALUE!。範囲のサイズがそろっていない のが原因なので、すべての範囲を同じ行数にそろえる - 同じ範囲で OR 条件を書きたいときは
=SUM(COUNTIFS(範囲,{"値1","値2"}))の配列定数パターン - データが追加されるシートでは テーブル化(Ctrl+T) して
テーブル名[列名]で指定すると、行追加に自動追従する
=COUNTIFS(B2:B21,"東京",C2:C21,"営業部")