Excelで「担当者が田中で、かつ売上が10万円以上の件数」のように、複数の条件を満たすデータだけを数えたい場面は少なくありません。
このような集計には、複数条件に対応したCOUNTIFS関数が便利です。
条件の指定方法、日付や文字列の扱い、条件を増やすときの注意点まで理解すると、売上管理、勤怠表、在庫表、アンケート集計などで活用しやすくなります。
COUNTIFS関数のポイント
・条件範囲と条件をセットで指定する
・すべての条件を満たす行だけがカウント対象になる
・比較演算子やワイルドカードを使うと応用できる
この記事では、Excelで複数条件をカウントするCOUNTIFS関数の使い方を、サンプルデータと数式を交えて解説していきます。
COUNTIFS関数による複数条件カウントの基本
それではまず、COUNTIFS関数で複数条件を指定して件数を求める基本について解説していきます。
| 担当者 | 商品 | 売上金額 | 判定例 |
|---|---|---|---|
| 田中 | A商品 | 120000 | 対象 |
| 佐藤 | A商品 | 90000 | 対象外 |
| 田中 | B商品 | 150000 | 対象 |
| 田中 | A商品 | 80000 | 対象外 |
COUNTIFS関数の書式
COUNTIFS関数は、複数の条件範囲と条件を組み合わせて、条件をすべて満たすデータの個数を返す関数です。
=COUNTIFS(条件範囲1, 条件1, 条件範囲2, 条件2, …)
たとえばA列の担当者が田中で、C列の売上金額が100000以上である行数を数える場合は、次のように入力します。
=COUNTIFS(A2:A100,”田中”,C2:C100,”>=100000″)
1行目を見出しとしているため、集計する範囲はA2から始めます。
COUNTIFS関数では、指定したすべての条件を満たすデータだけが結果に含まれます。
この例では担当者が田中であるだけでは足りず、売上金額も100000以上でなければカウントされません。
条件範囲1と条件1、条件範囲2と条件2というように、範囲と条件は必ず対にして入力しましょう。
【操作のポイント】条件範囲の行数と列の開始位置をそろえ、見出し行を含めないように設定します。
COUNTIF関数との違い
COUNTIF関数は1つの条件で数える関数であり、COUNTIFS関数は複数条件で数える関数です。
「田中という担当者の件数」だけを調べるならCOUNTIF関数でも十分ですが、「田中かつA商品」のように条件が2つになる場合はCOUNTIFS関数を使います。
COUNTIF関数の例
=COUNTIF(A2:A100,”田中”)
COUNTIFS関数の例
=COUNTIFS(A2:A100,”田中”,B2:B100,”A商品”)
条件が1つでもCOUNTIFS関数は使用できるため、今後条件を追加する可能性がある表では最初からCOUNTIFS関数を選ぶ方法もあります。
ただし、数式を読む人にとっては、単一条件ならCOUNTIF関数のほうが意図を理解しやすい場合もあります。
目的と管理する表の複雑さに応じて使い分けることが大切です。
【操作のポイント】単一条件はCOUNTIF、複数条件はCOUNTIFSと考えると関数選びがスムーズです。
AND条件としての判定
COUNTIFS関数は、複数の条件をAND条件で判定します。
つまり、条件1も条件2も条件3も満たしている行だけを数える仕組みです。
たとえば担当者が田中、商品がA商品、売上が100000円以上という3条件を指定すると、3つすべてに一致したレコードだけが対象になります。
=COUNTIFS(A2:A100,”田中”,B2:B100,”A商品”,C2:C100,”>=100000″)
「または」の意味であるOR条件をそのまま1つのCOUNTIFS関数に書くことはできません。
OR条件を扱う場合は、複数のCOUNTIFS関数を足し合わせる方法や、別の関数を組み合わせる方法を検討します。
まずはCOUNTIFS関数が「かつ」の条件を得意とする関数だと押さえておきましょう。
【操作のポイント】複数条件がすべて必須か、それともどれか1つでよいかを数式作成前に整理します。
条件範囲と条件の入力手順
続いては、COUNTIFS関数をExcelのワークシートに入力する手順を確認していきます。
| A列 | B列 | C列 | 集計条件 |
|---|---|---|---|
| 担当者 | 商品 | 売上金額 | F2 田中 |
| 田中 | A商品 | 120000 | G2 100000 |
| 佐藤 | B商品 | 110000 | H2 結果 |
セル参照を使った数式入力
条件を数式内に直接書き込む代わりに、条件を入力したセルを参照すると、集計条件を後から変更しやすくなります。
たとえばF2セルに担当者名、G2セルに基準となる売上金額を入力した場合、H2セルには次の数式を設定できます。
=COUNTIFS(A2:A100,F2,C2:C100,”>=”&G2)
比較演算子の「>=」とG2セルの値は、アンパサンドで連結します。
比較演算子をセル参照と組み合わせるときは、「>=」をダブルクォーテーションで囲むことが重要です。
F2の担当者名やG2の金額を変更すれば、COUNTIFS関数の結果も自動で更新されます。
集計用の条件欄を用意するだけで、毎回数式を編集しなくてよくなるため、実務用の一覧表にも向いています。
【操作のポイント】固定値を頻繁に変更するなら、数式に直接入力せず条件入力セルを参照します。
関数の挿入ダイアログ
数式を手入力することに不安がある場合は、数式タブの関数の挿入からCOUNTIFS関数を選択する方法があります。
セルを選択してから数式タブを開き、関数の挿入をクリックし、検索欄にCOUNTIFSと入力します。
関数の引数画面では、条件範囲1、条件1、条件範囲2、条件2の順に入力欄が表示されます。
範囲選択ボタンを使えば、ワークシート上のセルをクリックまたはドラッグして参照範囲を指定できます。
引数ダイアログでは数式の結果を確認しながら入力できるため、初めてCOUNTIFS関数を使うときにも安心です。
入力が完了したらOKを押すと、選択中のセルに数式が入ります。
【操作のポイント】関数名や記号の入力で迷ったときは、関数の挿入ダイアログを活用します。
オートフィルによる数式コピー
月別、担当者別、商品別など、同じ形の集計式を複数行に作成する場合はオートフィルが役立ちます。
たとえばF2セルからF13セルに担当者名を並べ、G列に各担当者の件数を出すときは、G2に数式を設定してから右下のフィルハンドルを下へドラッグします。
G2セルの数式例
=COUNTIFS($A$2:$A$100,F2,$C$2:$C$100,”>=100000″)
データ範囲であるA2:A100とC2:C100にはドル記号を付けて絶対参照にし、条件セルF2は相対参照のままにします。
絶対参照にすると、オートフィルで数式をコピーしても集計対象のデータ範囲がずれません。
一方でF2を固定してしまうと、下の行へコピーしてもすべて田中の件数を数えてしまうため注意が必要です。
【操作のポイント】データ範囲は絶対参照、行ごとに変える条件セルは相対参照にするのが基本です。
数値条件と比較演算子の指定
続いては、売上金額や数量などの数値を条件にする方法を確認していきます。
| 条件の内容 | 条件の書き方 | 意味 |
|---|---|---|
| 10万以上 | “>=100000” | 100000以上 |
| 10万未満 | “<100000” | 100000より小さい |
| 10万以外 | “<>100000” | 100000と異なる |
以上と以下の条件
数値を比較する条件では、「>」「<」「>=」「<=」といった比較演算子を使います。
たとえば売上金額が100000円以上のデータ数を数える場合は、条件として”>=100000″を指定します。
=COUNTIFS(C2:C100,”>=100000″)
100000円を超える件数なら”>100000″、100000円以下なら”<=100000″に変更します。
比較演算子を直接入力する場合は、演算子と数値をまとめてダブルクォーテーションで囲みます。
条件に境界値を含めるかどうかで結果が変わるため、「以上」と「超える」、「以下」と「未満」を混同しないことが重要です。
【操作のポイント】以上は>=、以下は<=、超えるは>、未満は<で指定します。
範囲内の数値カウント
売上金額が50000円以上100000円未満のように、数値の範囲を絞り込むこともできます。
同じC列を条件範囲として2回指定し、それぞれに下限と上限の条件を設定します。
=COUNTIFS(C2:C100,”>=50000″,C2:C100,”<100000″)
この数式では、50000円ちょうどは対象に含まれ、100000円ちょうどは対象外です。
同じ列を複数回使うことで、1つの数値列に対して下限と上限を同時に設定できます。
評価点、在庫数、作業時間、年齢など、一定の範囲に入るレコード数を確認したいときに使いやすい方法です。
【操作のポイント】範囲条件では、下限と上限の両方を同じ条件範囲に対して指定します。
空白とゼロの区別
空白セルを数えたい場合は、条件に””を指定します。
反対に空白ではないセルを数える場合は、”<>”を使います。
空白の件数
=COUNTIFS(C2:C100,””)
空白ではない件数
=COUNTIFS(C2:C100,”<>”)
数値の0と空白は別の値として扱われます。
入力されていないセルを除外したいのか、0件のデータも含めたいのかを確認してから条件を作りましょう。
見た目が空欄でも数式が入っているセルでは、COUNTIFS関数の結果が想定と異なる場合があります。
【操作のポイント】空白、数値の0、数式で返された空文字列は同じものとして扱わないように注意します。
文字列条件とワイルドカードの活用
続いては、部署名、商品名、氏名などの文字列を条件にしてカウントする方法を確認していきます。
| 商品名 | 検索条件 | 結果の例 |
|---|---|---|
| A商品 赤 | “*商品*” | 一致 |
| B商品 青 | “*商品*” | 一致 |
| 部品C | “*商品*” | 不一致 |
完全一致によるカウント
文字列を完全一致で数える場合は、条件として文字列をそのまま指定します。
=COUNTIFS(B2:B100,”A商品”)
この場合、A商品というセルだけが対象であり、A商品 赤や新A商品は数えられません。
COUNTIFS関数の文字列条件は、基本的に入力した文字列と一致するセルを検索します。
部署名や担当者名など、表記が統一されているマスターデータを集計する場面で使いやすい方法です。
全角と半角、余分なスペース、似た名称の混在があると集計漏れの原因になるため、入力規則による表記統一も検討しましょう。
【操作のポイント】完全一致の集計前に、文字列の表記ゆれや末尾スペースがないか確認します。
アスタリスクによる部分一致
商品名の一部に特定の文字が含まれる件数を調べるときは、ワイルドカードのアスタリスクを使います。
=COUNTIFS(B2:B100,”*商品*”)
この数式では、商品という文字を含むセルを数えます。
先頭がAで始まる文字列なら”A*”、末尾がセットで終わる文字列なら”*セット”という条件が利用できます。
アスタリスクは任意の文字列を表すため、部分一致検索に便利です。
ただし、検索対象が広がりすぎると意図しない商品まで数える可能性があります。
【操作のポイント】部分一致は便利ですが、似た名称まで含まれないかサンプルデータで確認します。
疑問符と除外条件
ワイルドカードの疑問符は、任意の1文字を表します。
たとえば”A?”という条件では、Aの後ろに1文字だけ続く文字列を対象にできます。
また、特定の文字列を除外したい場合は、”<>文字列”と指定します。
田中以外を数える数式
=COUNTIFS(A2:A100,”<>田中”)
複数条件と組み合わせれば、田中以外でA商品を扱った件数のような集計も可能です。
除外条件を使う場合は空白セルも条件に合うことがあるため、必要に応じて空白でない条件を追加します。
【操作のポイント】除外条件の結果が多すぎるときは、空白セルが含まれていないか見直します。
日付条件と期間集計の設定
続いては、受注日、申請日、入社日などの日付を条件にして件数を集計する方法を確認していきます。
| 受注日 | 担当者 | 月次集計対象 |
|---|---|---|
| 2026/04/01 | 田中 | 対象 |
| 2026/04/30 | 佐藤 | 対象 |
| 2026/05/01 | 田中 | 対象外 |
開始日と終了日の指定
特定期間の件数を求めるには、日付列に対して開始日以上、終了日以下の2条件を設定します。
=COUNTIFS(A2:A100,”>=”&F2,A2:A100,”<=”&G2)
この例ではF2セルに開始日、G2セルに終了日を入力します。
日付は文字列ではなく、Excelが日付として認識している値で入力することが大切です。
開始日と終了日をセル参照にすると、対象期間を変更するだけで集計結果を更新できます。
週次、月次、四半期、キャンペーン期間などを柔軟に集計できるでしょう。
【操作のポイント】日付条件には比較演算子と日付セルをアンパサンドで連結して指定します。
月単位の件数集計
4月だけのデータを数える場合は、4月1日以上かつ5月1日未満という条件にすると、時刻を含むデータにも対応しやすくなります。
=COUNTIFS(A2:A100,”>=”&DATE(2026,4,1),A2:A100,”<“&DATE(2026,5,1))
終了日を4月30日以下とする方法もありますが、日時データでは4月30日の午後のデータが漏れることがあります。
時刻が記録される表では、翌月1日より小さいという条件で月末を指定する方法が安全です。
DATE関数を使うと、日付のシリアル値を意識せずに数式を組み立てられます。
【操作のポイント】時刻を含む可能性がある日付列では、終了日は翌月初日未満で設定します。
日付が集計できない場合の確認
見た目は日付でも、セルが文字列として保存されているとCOUNTIFS関数が正しく判定できないことがあります。
セルを選択して数式バーを確認し、日付として認識されているかを調べましょう。
文字列の日付は、区切り位置機能、VALUE関数、DATEVALUE関数などで日付データへ変換できる場合があります。
また、開始日と終了日のセルが空白になっていないか、年が正しいかも確認したいポイントです。
日付集計で結果が0件になるときは、数式より先に日付データの形式を疑うことが有効です。
【操作のポイント】日付の表示形式ではなく、セル内部で日付として認識されているかを確認します。
COUNTIFS関数のエラーと集計不一致の確認
続いては、COUNTIFS関数で件数が合わないときに確認したい原因を解説していきます。
| 確認項目 | よくある原因 | 対処 |
|---|---|---|
| 範囲の大きさ | 開始行や終了行が異なる | 範囲をそろえる |
| 文字列 | スペースや表記ゆれ | データを整える |
| 数値と日付 | 文字列として保存 | 値を変換する |
条件範囲のサイズ不一致
COUNTIFS関数では、すべての条件範囲を同じ大きさにそろえる必要があります。
たとえばA2:A100とC2:C99のように行数が異なる範囲を指定すると、エラーや予期しない結果の原因になります。
条件範囲は同じ開始行と終了行でそろえることが、COUNTIFS関数を正しく使う基本です。
テーブル形式に変換して構造化参照を使うと、データ追加時の範囲漏れを減らしやすくなります。
【操作のポイント】数式を編集するときは、各条件範囲が同じ行数かを順番に確認します。
表記ゆれと余分なスペース
田中、田中さん、田中のように表記が混在していると、完全一致の条件では別の値として扱われます。
セルの末尾に半角スペースや全角スペースが入っている場合も、見た目では気付きにくい集計漏れにつながります。
TRIM関数やSUBSTITUTE関数で不要なスペースを除去し、入力規則で候補を選択できるようにすると管理しやすくなります。
データを整備してからCOUNTIFS関数を使うことが、正確な集計への近道です。
【操作のポイント】件数が少ないと感じたら、条件文字列とデータの表記ゆれを最初に確認します。
数式の再計算と参照範囲
数式をコピーした後に結果が同じままの場合は、絶対参照と相対参照の設定を見直します。
また、Excelの計算方法が手動になっていると、入力値を変更しても結果がすぐに更新されないことがあります。
数式タブの計算方法の設定を確認し、必要なら再計算を実行しましょう。
データが101行目以降に追加されているのに範囲がA2:A100のままというケースも、よくある原因です。
【操作のポイント】データ追加後は参照範囲、計算方法、コピーした数式の参照先を確認します。
まとめ エクセルで複数条件をカウントする方法
Excelで複数条件を満たすデータの件数を求めるには、COUNTIFS関数を使います。
基本の書式は、条件範囲と条件を交互に指定する形です。
担当者、商品、金額、日付などを組み合わせることで、必要なレコードだけを正確に集計できます。
数値の比較では”>=”や”<“などの演算子を使い、セル参照と組み合わせる場合はアンパサンドで連結しましょう。
文字列の部分一致にはアスタリスク、期間集計には開始日以上かつ終了日未満という考え方が役立ちます。
件数が合わない場合は、条件範囲の大きさ、表記ゆれ、文字列扱いの日付や数値、絶対参照の設定を確認してください。
COUNTIFS関数を使いこなせば、手作業での抽出や数え上げを減らし、日常のExcel集計を効率化できるでしょう。