エクセルで売上データ、出勤表、顧客リストなどを管理していると、複数の条件に一致する件数を数えたい場面があります。
たとえば、東京支店かつ商品Aを購入した件数、特定の担当者かつ受注済みの件数、指定した日付の範囲に入るデータ数などを集計したいケースです。
このような集計では、複数条件を指定できるCOUNTIFS関数を使うと、条件に合う行だけを正確にカウントできます。
COUNTIFS関数で複数条件を数える基本ポイント
・条件範囲と条件は必ず対になるように指定します。
・文字列、数値、日付、空白、部分一致などを条件にできます。
・条件を追加するほど、すべての条件を満たす行だけが集計対象になります。
この記事では、1行目に見出しがあるサンプルデータを使いながら、エクセルで複数条件をカウントする方法を詳しく解説します。
複雑に見える集計も、条件範囲と条件の対応関係を理解すれば、数式をコピーして使えるようになります。
COUNTIFS関数による複数条件の件数集計
| 担当者 | 支店 | 商品 | 状況 | 金額 |
|---|---|---|---|---|
| 佐藤 | 東京 | 商品A | 受注 | 120000 |
| 鈴木 | 大阪 | 商品B | 見積 | 80000 |
| 高橋 | 東京 | 商品A | 受注 | 150000 |
それではまず、COUNTIFS関数を使って複数条件の件数を求める基本形について解説していきます。
COUNTIFS関数は、複数の条件をすべて満たすデータを数える関数です。
東京支店で商品Aを扱った行だけを数えるような、AND条件の集計に向いています。
COUNTIFS関数の基本書式
COUNTIFS関数は、条件範囲と条件をセットで並べる構造です。
=COUNTIFS(条件範囲1,条件1,条件範囲2,条件2)
たとえば、B列の支店が東京であり、C列の商品が商品Aである件数を数える場合は、次の数式を入力します。
=COUNTIFS(B2:B100,”東京”,C2:C100,”商品A”)
この数式では、B2からB100の中から東京を探し、その同じ行のC2からC100が商品Aであるデータだけを数えます。
条件範囲の開始行と終了行は、すべて同じ位置にそろえることが大切です。
B2:B100とC2:C99のように範囲の行数が異なると、正しく計算できません。
また、条件の文字列は原則としてダブルクォーテーションで囲みます。
セルに入力された文字列を条件に使う場合は、ダブルクォーテーションではなくセル番地を指定します。
複数条件がすべて一致する仕組み
COUNTIFS関数では、追加した条件をすべて満たした行だけが集計されます。
支店が東京という条件だけなら東京の全データを数えますが、そこに商品Aという条件を追加すると、東京かつ商品Aの行だけに絞られます。

たとえば、東京支店の商品Aが3件、東京支店の商品Bが2件、大阪支店の商品Aが4件あった場合、東京と商品Aを同時に指定した結果は3件です。
この考え方は、担当者、部署、商品名、進捗状況、金額区分など、列が増えたデータでも同じです。
COUNTIFS関数は、条件を一つずつ狭めていくフィルターのような働きをします。
条件を三つに増やしたいときは、条件範囲3と条件3を数式の末尾へ追加します。
=COUNTIFS(B2:B100,”東京”,C2:C100,”商品A”,D2:D100,”受注”)
この場合は、東京支店で商品Aを扱い、さらに状況が受注であるデータだけがカウントされます。
最初に確認したいデータ範囲
COUNTIFS関数を入力する前に、1行目が見出しであり、2行目から実データが始まることを確認しましょう。
見出し行まで条件範囲に含めてもエラーにならない場合はありますが、不要な値を含めないよう、通常は2行目から指定します。

表の途中に空白行がある場合でも、条件範囲に含めること自体は可能です。
ただし、データが今後増える場合は、十分な行数まで指定するか、テーブル機能を使って範囲を管理すると便利です。
集計結果が想定より少ないときは、全角と半角、余分なスペース、表記ゆれを確認してください。
たとえば東京と東京支店は別の文字列として扱われるため、同じ条件では数えられません。
【操作のポイント】最初は二つの条件で数式を作り、結果を確認してから条件を増やすと、入力ミスを見つけやすくなります。
セル参照を使った条件入力
| 検索条件 | 入力値 | 結果 |
|---|---|---|
| 支店 | 東京 | 集計対象 |
| 商品 | 商品A | 集計対象 |
続いては、条件をセル参照で指定し、検索条件を変更しやすくする方法を確認していきます。
数式の中に東京や商品Aを直接書く方法は分かりやすい一方、条件を変えるたびに数式を編集する必要があります。
条件用のセルを用意して参照すれば、セルの値を変更するだけで件数を切り替えられます。
条件セルを配置する方法

たとえば、G2セルに東京、H2セルに商品Aと入力し、G1セルを支店条件、H1セルを商品条件という見出しにします。
集計結果を表示するI2セルには、次のような数式を入力します。
=COUNTIFS(B2:B100,G2,C2:C100,H2)
この数式では、G2セルの内容が支店の条件になり、H2セルの内容が商品の条件になります。
条件をセル参照にすると、数式を触らずに集計条件だけを変更できます。
担当者が実務で使う集計表では、検索条件を色付きの入力欄にしておくと、操作する場所が伝わりやすくなります。
プルダウンリストを設定すれば、表記ゆれを防ぐことにもつながります。
絶対参照を使う場面
複数の集計式を横方向または縦方向へコピーする場合は、条件セルに絶対参照を使う場面があります。
たとえばG2セルに入力した支店を固定したまま、商品別の件数を横へ並べるときは、支店条件のセルだけを固定します。
=COUNTIFS($B$2:$B$100,$G$2,$C$2:$C$100,H$2)

この数式を右方向へコピーすると、G2は固定されたまま、H2だけがI2、J2へと移動します。
条件範囲はコピー先でずれないように、通常は開始セルと終了セルの両方を固定します。
F4キーを使うと、選択中のセル参照を相対参照、絶対参照、複合参照の順に切り替えられます。
集計表を作るときは、どの部分を動かし、どの部分を固定するかを考えることが重要です。
空白の条件を扱う注意点
条件セルが空白のときにCOUNTIFS関数を実行すると、空白セルを条件として数える場合があります。
検索条件が未入力なら結果も空白にしたい場合は、IF関数と組み合わせる方法が便利です。
=IF(OR(G2=””,H2=””),””,COUNTIFS(B2:B100,G2,C2:C100,H2))
この数式は、G2またはH2が空白なら空白を表示し、両方に条件が入ったときだけCOUNTIFS関数を計算します。
条件を一つだけ選んだときにも集計したい場合は、検索条件の作り方を変える必要があります。
その場合は、COUNTIFS関数を複数使う方法や、FILTER関数などを検討します。
【操作のポイント】条件入力セルはデータ表の外側にまとめ、入力欄だと分かる塗りつぶし色を設定すると、更新時の誤操作を減らせます。
数値と日付範囲の条件指定
| 日付 | 担当者 | 金額 | 状況 |
|---|---|---|---|
| 2026/10/01 | 佐藤 | 120000 | 受注 |
| 2026/10/10 | 高橋 | 150000 | 受注 |
| 2026/10/20 | 鈴木 | 80000 | 見積 |
続いては、数値や日付を比較条件として指定し、範囲内の件数を数える方法を確認していきます。
金額が100000円以上の件数、月初から月末までの受注件数などは、比較演算子を条件に含めて集計します。
以上と以下を使った金額条件
金額が100000以上であるデータを数える場合は、条件に>=100000を指定します。
=COUNTIFS(E2:E100,”>=100000″)
金額が100000以上かつ状況が受注の件数を数えるなら、状況列の条件も追加します。
=COUNTIFS(E2:E100,”>=100000″,D2:D100,”受注”)
比較演算子を文字列として使うときは、ダブルクォーテーションの中に記載します。
50000以上150000以下のように範囲を指定したい場合は、同じ金額列を条件範囲として二回指定します。
=COUNTIFS(E2:E100,”>=50000″,E2:E100,”<=150000″)
下限と上限を同時に書くことで、指定した金額帯に入るデータだけを集計できます。
日付の開始日と終了日による集計
日付条件では、開始日以上と終了日以下の二つの条件を同じ日付列に設定します。
たとえばA列の日付が2026年10月1日から2026年10月31日までの件数を数える数式は次のとおりです。
=COUNTIFS(A2:A100,”>=”&DATE(2026,10,1),A2:A100,”<=”&DATE(2026,10,31))
| A | B | C | D | G | H | |
|---|---|---|---|---|---|---|
| 1 | 日付 | 担当者 | 金額 | 状況 | 開始日 | 終了日 |
| 2 | 2026/10/01 | 佐藤 | 120000 | 受注 | 2026/10/01 | 2026/10/31 |
| 3 | 2026/10/10 | 高橋 | 150000 | 受注 |
日付をセル参照にする場合は、G2セルに開始日、H2セルに終了日を入力し、比較演算子とセル参照を&でつなぎます。
日付が文字列として保存されていると正しく比較できないため、セルの表示形式だけでなく値の種類も確認しましょう。
日付が左寄せで表示される、またはCOUNTIFS関数の結果が0になる場合は、文字列の日付である可能性があります。
月単位で集計するときの考え方
月ごとの件数を求める場合は、月初以上かつ翌月の月初より小さいという条件を使うと、時刻を含むデータにも対応しやすくなります。
=COUNTIFS(A2:A100,”>=”&DATE(2026,10,1),A2:A100,”<“&DATE(2026,11,1))
終了条件を10月31日以下ではなく11月1日未満とすることで、10月31日の時刻付きデータも漏れにくくなります。
受注日時のように時刻が含まれる列では、特にこの指定が役立ちます。
日付範囲の集計は、開始日を含め、翌月の開始日を含めない条件が安定します。
【操作のポイント】数値と日付の比較では、>、<、>=、<=とセル参照を&で結合する書き方を覚えると、集計表の応用範囲が広がります。
文字列の部分一致と除外条件
| 顧客名 | 商品名 | 状況 |
|---|---|---|
| 東京商事 | 商品A 標準 | 受注 |
| 大阪物産 | 商品A 特別 | 取消 |
続いては、文字列の一部を含むデータや、特定の値を除外するデータを数える方法を確認していきます。
商品名に商品Aを含む件数、取消以外の件数などを求めるときに活用できます。
アスタリスクを使った部分一致
文字列の一部を条件にする場合は、ワイルドカードであるアスタリスクを使います。
商品名に商品Aという文字が含まれる行を数える数式は次のとおりです。
=COUNTIFS(C2:C100,”*商品A*”)
前後のアスタリスクは、商品Aの前後にどのような文字があってもよいという意味です。
商品A 標準、商品A 特別、旧商品Aのような表記をまとめて数えたいときに部分一致が便利です。
文字列の先頭だけを指定したい場合は、商品Aの後ろだけにアスタリスクを付けます。
末尾だけを指定したい場合は、アスタリスクを文字列の前に付けます。
特定の値を除外する条件
取消以外のデータを数えたい場合は、等しくないことを表す<>を使います。
=COUNTIFS(D2:D100,”<>取消”)
東京支店で、かつ取消以外の件数を数える場合は、支店列と状況列の条件を組み合わせます。
=COUNTIFS(B2:B100,”東京”,D2:D100,”<>取消”)
除外条件を使うときは、空白セルも取消ではないものとして数えられる点に注意が必要です。
状況が入力済みで取消以外という条件にしたい場合は、空白ではないという条件も加えます。
=COUNTIFS(D2:D100,”<>取消”,D2:D100,”<>”)
表記ゆれとスペースの確認
部分一致や完全一致で想定外の結果が出た場合は、セル内の見えないスペースを確認しましょう。
商品Aと商品Aの末尾に半角スペースがある文字列は、完全一致の条件では別の値として扱われます。
データを入力する担当者が複数いる表では、入力規則で候補を選択できるようにすると、表記ゆれを減らせます。
COUNTIFS関数の精度は、元データの表記が統一されているかどうかに大きく左右されます。
不要なスペースの削除にはTRIM関数、全角と半角の整理にはASC関数などを使う方法もあります。
【操作のポイント】完全一致で集計する前に、データの入力ルールを統一しておくと、後から集計式を修正する手間を抑えられます。
COUNTIF関数とSUMPRODUCT関数の使い分け
| 関数 | 主な用途 | 条件数 |
|---|---|---|
| COUNTIF | 一つの条件の件数 | 一つ |
| COUNTIFS | 複数条件の件数 | 複数 |
| SUMPRODUCT | 複雑な条件の集計 | 複数 |
続いては、COUNTIFS関数と関連する関数の違いを確認していきます。
集計目的に合った関数を選ぶことで、数式を短く分かりやすくできます。
COUNTIF関数との違い
COUNTIF関数は、一つの条件に一致するセルを数える関数です。
=COUNTIF(B2:B100,”東京”)
この数式はB列が東京である件数を数えます。
一方で、東京かつ商品Aのように二つ以上の条件が必要ならCOUNTIFS関数を使います。
条件が一つならCOUNTIF関数、条件が二つ以上ならCOUNTIFS関数という選び方が基本です。
COUNTIFS関数でも条件を一つだけ指定できますが、単純な集計ではCOUNTIF関数のほうが式の意図を読み取りやすいでしょう。
OR条件を数える考え方
COUNTIFS関数は、基本的にすべての条件を満たすAND条件を数えます。
東京または大阪のようなOR条件を数えたい場合は、COUNTIF関数やCOUNTIFS関数の結果を足し合わせる方法があります。
=COUNTIF(B2:B100,”東京”)+COUNTIF(B2:B100,”大阪”)
東京支店の商品Aと、大阪支店の商品Aを合計する場合は、COUNTIFS関数を二つ足します。
=COUNTIFS(B2:B100,”東京”,C2:C100,”商品A”)+COUNTIFS(B2:B100,”大阪”,C2:C100,”商品A”)
OR条件では、同じ行を二重に数えないかを確認することが重要です。
条件が重複する可能性がある場合は、SUMPRODUCT関数や別の集計方法を検討します。
SUMPRODUCT関数を使う場面
COUNTIFS関数では指定しにくい条件を扱うときは、SUMPRODUCT関数が選択肢になります。
たとえば、二つの列の値を比較して条件に合う行を数えるような集計では、SUMPRODUCT関数が役立つことがあります。
ただし、数式が長くなりやすいため、通常の複数条件集計ではCOUNTIFS関数から試すのが分かりやすい方法です。
まずCOUNTIFS関数で実現できるかを確認し、列同士の比較など特殊な条件でSUMPRODUCT関数を使うと整理しやすくなります。
関数を選ぶ基準は、数式の短さだけではありません。
将来、別の人がファイルを更新するときにも内容を理解できるかどうかが重要です。
【操作のポイント】通常のAND条件の集計はCOUNTIFS関数で十分です。複雑な条件へ進む前に、条件列を追加してデータを整理できないかも確認しましょう。
まとめ エクセルの複数条件カウント方法
エクセルで複数条件に一致する件数を求めるには、COUNTIFS関数を使います。
基本の数式は、条件範囲と条件を順番に並べる形です。
=COUNTIFS(条件範囲1,条件1,条件範囲2,条件2)
東京かつ商品AのようなAND条件は、COUNTIFS関数に複数の条件を追加することで集計できます。
条件をセル参照にすれば、数式を書き換えずに支店名や商品名を切り替えられます。
金額や日付では、>=や<=などの比較演算子を使い、範囲条件を設定します。
日付の月別集計では、月初以上かつ翌月月初未満という条件を使うと、時刻を含むデータにも対応しやすくなります。
文字列の部分一致にはアスタリスクを使い、除外条件には<>を使います。
集計結果がおかしい場合は、条件範囲の大きさ、文字列の表記ゆれ、日付が文字列になっていないかを確認しましょう。
複数条件の件数集計を身に付けると、売上管理、勤怠管理、顧客分析、在庫確認など、日常的なエクセル作業を効率化できます。