ExcelのCOUNTIFS関数の使い方|複数条件・日付範囲・OR条件・エラー対処を完全解説

Excel

複数の条件に一致するデータ件数を数えたいときは、ExcelのCOUNTIFS関数が役立ちます。たとえば「東京支店で、4月に対応した案件数」「売上が10万円以上で、担当者が田中さんの件数」といった集計を、数式ひとつで行えます。ただし、日付の指定方法やOR条件、空白セル、文字列と数値の違いで結果が合わなくなることもあります。ここでは、コピーして使える完成式を先に示しながら、COUNTIFS関数の基本から実務向けの応用、エラーの原因と直し方まで解説します。:

蒼宮 ルシア
蒼宮 ルシア

条件を2つに増やしたら、COUNTIFでは数えられなくなってしまいました。

AI執事
AI執事

その場合はCOUNTIFSを使います。条件範囲と条件を順番に追加すれば、複数条件の件数を集計できます。

蒼宮ルシア
蒼宮ルシア

日付範囲や「東京または大阪」のような条件もまとめて確認してみます。

最初に使えるCOUNTIFS関数の完成式

COUNTIFS関数の基本形は、次の数式です。

=COUNTIFS(B2:B100,”東京”,C2:C100,”完了”)

この数式は、B列が「東京」であり、同じ行のC列が「完了」になっているデータ件数を数えます。

COUNTIFS関数では、条件範囲と条件を1組として指定します。条件を増やす場合は、数式の後ろに新しい条件範囲と条件を追加します。

=COUNTIFS(条件範囲1,条件1,条件範囲2,条件2)

すべての条件を満たした行だけが数えられるため、COUNTIFS関数の基本はAND条件です。

指定内容役割
条件範囲1最初の条件を確認するセル範囲
条件1最初の条件範囲に対する判定条件
条件範囲22つ目の条件を確認するセル範囲
条件22つ目の条件範囲に対する判定条件
蒼宮ルシア
蒼宮ルシア

COUNTIFSの最後に付いている「S」は、複数の条件範囲を扱える関数だと覚えると分かりやすいです。

サンプル表を使ってCOUNTIFSの結果を確認する

ここからは、次のような案件管理表を例に数式を作成します。

項目名入力例
A列受付日2026/4/1
B列支店東京
C列担当者田中
D列対応状況完了
E列売上金額120000

データは2行目から100行目まで入力されているものとします。実際の表では、100を最終行に合わせて変更してください。

東京支店で完了した案件を数える

=COUNTIFS(B2:B100,”東京”,D2:D100,”完了”)

B列が東京で、D列が完了になっている行だけを数えます。東京でも未対応の案件や、完了していても大阪支店の案件は対象になりません。

東京支店で田中さんが対応した案件を数える

=COUNTIFS(B2:B100,”東京”,C2:C100,”田中”)

支店と担当者の2条件で集計する例です。対応状況も加えたい場合は、次のように3組目の条件を追加します。

=COUNTIFS(B2:B100,”東京”,C2:C100,”田中”,D2:D100,”完了”)

この数式では、東京支店、田中さん、完了という3つの条件をすべて満たす案件だけが数えられます。

条件をセルに入力して集計する

数式へ「東京」や「完了」を直接入力する代わりに、条件を別のセルへ入力する方法もあります。

=COUNTIFS(B2:B100,H2,D2:D100,I2)

H2に「東京」、I2に「完了」と入力すると、その条件に一致する件数が表示されます。H2やI2の内容を変更するだけで結果が切り替わるため、集計表やダッシュボードに向いています。

数値の以上・以下・範囲を条件にする

COUNTIFS関数では、数値に対して「以上」「以下」「より大きい」「未満」といった比較条件を指定できます。

条件記号入力例
10万円以上>=“>=100000”
10万円以下<=“<=100000”
10万円より大きい>“>100000”
10万円未満<“<100000”
10万円以外<>“<>100000”

売上金額が10万円以上の完了案件を数える

=COUNTIFS(E2:E100,”>=100000″,D2:D100,”完了”)

E列が100000以上であり、D列が完了の行を数えます。比較演算子を使う条件は、数字とまとめて二重引用符で囲みます。

売上金額が10万円以上20万円未満の案件を数える

=COUNTIFS(E2:E100,”>=100000″,E2:E100,”<200000″)

同じE列に対して、下限と上限の2条件を設定しています。この数式では10万円は含まれますが、20万円は含まれません。

基準金額をセルから参照する

H2に下限金額、I2に上限金額を入力する場合は、次のように比較演算子とセル参照をつなぎます。

=COUNTIFS(E2:E100,”>=”&H2,E2:E100,”<“&I2)

比較演算子は二重引用符で囲み、アンパサンドでセル参照と連結します。

=COUNTIFS(E2:E100,”>=H2″,E2:E100,”<I2″)

上のようにセル名まで二重引用符で囲むと、H2やI2はセル参照ではなく文字列として扱われます。期待した結果にならないため注意してください。

COUNTIFSで日付範囲を指定する

日付を条件にする場合も、数値と同じように比較演算子を使用します。ただし、日付を数式へ直接記述するより、開始日と終了日をセルに入力して参照する方法が管理しやすくなります。

開始日から終了日までの件数を数える

H2に開始日、I2に終了日を入力している場合は、次の数式を使用します。

=COUNTIFS(A2:A100,”>=”&H2,A2:A100,”<=”&I2)

A列の日付がH2以上で、I2以下の行を数えます。開始日と終了日の両方を含む集計です。

指定した月の件数を数える

2026年4月の案件数を数える場合は、次のように指定できます。

=COUNTIFS(A2:A100,”>=”&DATE(2026,4,1),A2:A100,”<“&DATE(2026,5,1))

4月1日以上、5月1日未満という条件にすることで、4月中の日付だけを数えられます。

月末を「4月30日以下」と指定する方法もありますが、日時データに時刻が含まれている場合は注意が必要です。たとえば「2026/4/30 15:00」は、日付だけの「2026/4/30」より大きい値として扱われるため、終了日の条件から外れることがあります。

翌月1日未満にする方法なら、時刻を含む4月30日のデータも集計できます。

セルに入力した年月を基準に月別集計する

H2に集計対象月の初日が入力されている場合は、EDATE関数を組み合わせます。

=COUNTIFS(A2:A100,”>=”&H2,A2:A100,”<“&EDATE(H2,1))

H2が2026年4月1日なら、H2以上かつ1か月後の日付未満を数えます。H2を2026年5月1日に変更すれば、同じ数式で5月分を集計できます。

今月の案件数を自動集計する

=COUNTIFS(A2:A100,”>=”&EOMONTH(TODAY(),-1)+1,A2:A100,”<“&EOMONTH(TODAY(),0)+1)

現在日付を基準に、今月1日以上かつ翌月1日未満のデータを数えます。月が変わると集計期間も自動的に切り替わります。

蒼宮ルシア
蒼宮ルシア

日時データを集計するときは、終了日以下よりも翌日未満、月末以下よりも翌月1日未満にすると取りこぼしを防ぎやすくなります。

OR条件で東京または大阪を数える

COUNTIFS関数は、指定した条件をすべて満たすAND条件の関数です。「東京または大阪」のようなOR条件は、複数のCOUNTIFSを足し合わせます。

東京または大阪の案件を数える

=COUNTIFS(B2:B100,”東京”)+COUNTIFS(B2:B100,”大阪”)

東京の件数と大阪の件数を別々に数え、最後に加算しています。

東京または大阪で、対応状況が完了の案件を数える

=COUNTIFS(B2:B100,”東京”,D2:D100,”完了”)+COUNTIFS(B2:B100,”大阪”,D2:D100,”完了”)

それぞれのCOUNTIFSに「完了」の条件を入れる必要があります。完了条件を片方にしか入れないと、東京と大阪で異なる条件を集計してしまいます。

複数の候補を配列で指定する

対応しているExcel環境では、次のようにSUM関数と配列定数を組み合わせる方法もあります。

=SUM(COUNTIFS(B2:B100,{“東京”,”大阪”},D2:D100,”完了”))

COUNTIFSが東京の完了件数と大阪の完了件数を返し、SUM関数が合計します。候補が増える場合は、配列定数へ追加します。

=SUM(COUNTIFS(B2:B100,{“東京”,”大阪”,”名古屋”},D2:D100,”完了”))

OR条件で二重集計が起きるケース

同じデータが複数のOR条件に一致する場合、COUNTIFSを足す方法では二重に数える可能性があります。

たとえば「売上が10万円以上、または20万円以上」という条件では、20万円以上のデータが両方の条件に該当します。

=COUNTIFS(E2:E100,”>=100000″)+COUNTIFS(E2:E100,”>=200000″)

この数式では、20万円以上のデータが2回数えられます。条件が重ならないように設計するか、目的に合った1つの条件へ整理する必要があります。

文字列の一部や空白を条件にする

特定の文字を含むセルを数える

商品名や備考欄などで、文字列の一部を条件にしたい場合はワイルドカードを使用します。

=COUNTIFS(F2:F100,”*返品*”)

F列の文字列に「返品」が含まれているセルを数えます。アスタリスクは、任意の文字列を表します。

記号意味条件例
*0文字以上の任意の文字列“*返品*”
?任意の1文字“商品?”
~ワイルドカード記号そのものを検索“~*”

特定の文字で始まるセルを数える

=COUNTIFS(F2:F100,”要確認*”)

「要確認」で始まる文字列を数えます。「要確認済み」や「要確認・担当者へ連絡」なども対象になります。

空白セルを数える

=COUNTIFS(D2:D100,””)

D列が空白になっているセルを数えます。

空白以外のセルを数える

=COUNTIFS(D2:D100,”<>”)

D列に何らかの値が入力されているセルを数えます。

数式で空文字が表示されているセルに注意する

セルに数式が入力されていて、その結果が空文字になっている場合、見た目は空白でも完全な未入力セルとは状態が異なります。

空白件数が想定と合わないときは、対象セルを選択して数式バーを確認してください。空白に見えるセルへ数式やスペースが入力されている可能性があります。

COUNTIFとCOUNTIFSの違い

COUNTIFとCOUNTIFSは、どちらも条件に一致するセルや行を数える関数です。主な違いは、指定できる条件範囲の数です。

比較項目COUNTIFCOUNTIFS
主な用途1つの条件で数える複数の条件で数える
条件範囲基本的に1つ複数指定できる
基本条件1条件すべて満たすAND条件
使用例東京支店の件数東京支店かつ完了の件数

条件が1つだけならCOUNTIF、条件範囲が2つ以上ならCOUNTIFSを使用すると整理しやすくなります。

ただし、COUNTIFSは条件を1つだけ指定して使うこともできます。

=COUNTIFS(B2:B100,”東京”)

今後、条件が増える可能性がある集計表では、最初からCOUNTIFSを使っても問題ありません。

1つの条件だけで件数を数えたい場合は、Excel COUNTIF関数の使い方完全ガイドもあわせて確認してください。

COUNTIFSとSUMIFSの使い分け

COUNTIFSは件数を数える関数です。SUMIFSは条件に一致した数値を合計する関数です。

求めたい結果使用する関数
完了した案件の数COUNTIFS15件
完了した案件の売上合計SUMIFS1,500,000円
東京支店の担当者数COUNTIFSだけでは重複に注意人数集計
東京支店の売上合計SUMIFS3,000,000円

「何件あるか」を知りたいときはCOUNTIFS、「合計はいくらか」を知りたいときはSUMIFSと考えると判断しやすくなります。

蒼宮ルシア
蒼宮ルシア

案件数と売上金額を同じ集計表に並べると、件数は多いのに売上が低い月など、数字の違いにも気付きやすくなります。

条件に一致する件数ではなく、売上金額や数量を合計したい場合は、Excel SUMIFS関数の使い方完全ガイドで具体的な数式を確認できます。

COUNTIFSの結果が合わない原因と対処法

条件範囲の行数がそろっていない

COUNTIFSで指定する条件範囲は、同じ大きさにそろえる必要があります。

=COUNTIFS(B2:B100,”東京”,D2:D90,”完了”)

この例では、B列が2行目から100行目、D列が2行目から90行目になっています。

次のように開始行と終了行をそろえてください。

=COUNTIFS(B2:B100,”東京”,D2:D100,”完了”)

全角と半角、余分なスペースが混ざっている

見た目が同じでも、セル内に余分なスペースがあると別の文字列として扱われます。

  • 東京
  • 東京の末尾に半角スペースがある
  • 東京の先頭に全角スペースがある

データをクリックして数式バーを確認し、不要なスペースを削除してください。外部システムから取り込んだデータでは、TRIM関数やCLEAN関数を使って文字列を整える方法もあります。

数字が文字列として保存されている

見た目が100000でも、文字列として保存されていると、数値条件で正しく判定されないことがあります。

対象セルの左上に緑色のマークが表示されている場合や、数値が左寄せになっている場合は、文字列として保存されている可能性があります。

セルを選択し、警告アイコンから数値へ変換するか、VALUE関数などで数値化してください。

日付が文字列になっている

日付に見えても、Excelが日付として認識していない場合は、日付範囲の条件が正しく働きません。

セルの表示形式を変更しても値が変化しない場合や、日付が左寄せになっている場合は、文字列の可能性があります。

区切り位置機能やDATEVALUE関数などを使い、Excelが認識できる日付へ変換してから集計してください。

比較演算子の二重引用符が抜けている

=COUNTIFS(E2:E100,>=100000)

比較演算子を直接入力する場合、上のような書き方はできません。

=COUNTIFS(E2:E100,”>=100000″)

比較演算子と数値をまとめて二重引用符で囲みます。

セル参照を二重引用符の中に入れている

=COUNTIFS(E2:E100,”>=H2″)

この数式では、H2がセル参照として使われません。

=COUNTIFS(E2:E100,”>=”&H2)

比較演算子とセル参照をアンパサンドで連結してください。

条件に使用している文字が一致していない

表には「対応完了」と入力されているのに、数式で「完了」を条件にすると完全一致しません。

=COUNTIFS(D2:D100,”完了”)

「完了」という文字を含むセルをすべて数えたい場合は、ワイルドカードを使います。

=COUNTIFS(D2:D100,”*完了*”)

コピーした数式の範囲がずれている

数式を横や下へコピーすると、条件範囲も相対的に移動します。集計元の範囲を固定したい場合は、絶対参照を使用します。

=COUNTIFS($B$2:$B$100,H2,$D$2:$D$100,I2)

ドル記号を付けた範囲は、数式をコピーしても移動しません。条件セルのH2とI2は、集計表の配置に合わせて固定方法を調整します。

実務で使いやすいCOUNTIFSの応用例

担当者別の完了件数を集計する

H列に担当者名を並べ、I2へ次の数式を入力します。

=COUNTIFS($C$2:$C$100,H2,$D$2:$D$100,”完了”)

I2を下方向へコピーすると、H列に入力した担当者ごとの完了件数を集計できます。

支店別かつ月別の件数を集計する

H2に支店名、I1に対象月の初日が入力されている場合は、次の数式を使用します。

=COUNTIFS($B$2:$B$100,$H2,$A$2:$A$100,”>=”&I$1,$A$2:$A$100,”<“&EDATE(I$1,1))

支店名の列を固定し、対象月の行を固定しています。数式を縦横へコピーすることで、支店別、月別のクロス集計表を作成できます。

未対応で期限を過ぎた案件を数える

F列に対応期限が入力されている場合は、次のように集計できます。

=COUNTIFS(D2:D100,”未対応”,F2:F100,”<“&TODAY())

対応状況が未対応で、期限が今日より前の案件を数えます。期限切れ案件の確認表や注意表示に活用できます。

今日までに受け付けた未完了案件を数える

=COUNTIFS(A2:A100,”<=”&TODAY(),D2:D100,”<>完了”)

受付日が今日以前で、対応状況が完了ではない案件を数えます。

ただし、D列に空白がある場合も「完了ではない」と判定されます。空白を除外したい場合は、条件を追加します。

=COUNTIFS(A2:A100,”<=”&TODAY(),D2:D100,”<>完了”,D2:D100,”<>”)

売上が入力済みの完了案件を数える

=COUNTIFS(D2:D100,”完了”,E2:E100,”>0″)

対応状況が完了で、売上金額が0より大きい案件を数えます。売上未入力の完了案件を探したい場合は、条件を0または空白に変更します。

COUNTIFSを使うときに確認したいポイント

  • 条件範囲の開始行と終了行をそろえる
  • 文字列が完全一致しているか確認する
  • 数値や日付が文字列として保存されていないか確認する
  • 比較演算子は二重引用符で囲む
  • 比較演算子とセル参照はアンパサンドでつなぐ
  • 日時を含むデータは、終了日以下より翌日未満で指定する
  • OR条件では同じデータを二重に数えないようにする
  • 数式をコピーする場合は絶対参照を使い分ける

よくある質問

COUNTIFSで3つ以上の条件を指定できますか?

指定できます。条件範囲と条件の組み合わせを数式の後ろへ追加してください。

=COUNTIFS(B2:B100,”東京”,C2:C100,”田中”,D2:D100,”完了”)

COUNTIFSで「AまたはB」を指定できますか?

COUNTIFSは基本的にAND条件です。OR条件にする場合は、複数のCOUNTIFSを足し合わせるか、SUM関数と配列定数を組み合わせます。

=COUNTIFS(B2:B100,”東京”)+COUNTIFS(B2:B100,”大阪”)

COUNTIFSで大文字と小文字を区別できますか?

COUNTIFSは、英字の大文字と小文字を区別せずに判定します。大文字と小文字を厳密に区別する集計には、EXACT関数やSUMPRODUCT関数などを組み合わせる方法が必要です。

空白ではないセルだけを数える条件は何ですか?

空白以外を数える条件は「<>」です。

=COUNTIFS(D2:D100,”<>”)

日付を直接数式へ入力してもよいですか?

DATE関数を使えば直接指定できます。

=COUNTIFS(A2:A100,”>=”&DATE(2026,4,1),A2:A100,”<“&DATE(2026,5,1))

集計期間を頻繁に変更する場合は、開始日をセルへ入力して参照する方法が扱いやすくなります。

COUNTIFSの結果が0になるのはなぜですか?

主な原因は、条件文字列の違い、余分なスペース、数値や日付の文字列化、条件範囲のずれ、比較演算子の入力ミスです。まず対象セルと条件を1つずつ確認し、条件を減らした数式で結果が出るか試してください。

関連記事

まとめ

  • COUNTIFSは、複数の条件をすべて満たすデータ件数を数える関数
  • 数値の範囲は「以上」と「未満」など、同じ列へ複数条件を設定する
  • 日付や日時は、開始日以上かつ翌日・翌月未満で指定すると集計しやすい
  • OR条件は複数のCOUNTIFSを加算するが、条件の重複による二重集計に注意する
  • 結果が合わない場合は、範囲の大きさ、データ形式、スペース、比較演算子を確認する

最初は、支店名と対応状況など分かりやすい2条件から数式を作り、正しい結果が出ることを確認してから日付や金額の条件を追加すると、ミスの原因を見つけやすくなります。

タイトルとURLをコピーしました