売上表や顧客一覧を確認しながら、条件に一致する件数を目で数えていると、データが増えるほど時間がかかり、数え間違いも起こりやすくなります。ExcelのCOUNTIF関数を使えば、「東京支店はいくつあるか」「完了した案件は何件か」「10万円以上の売上は何件か」といった集計を数式ひとつで行えます。文字列、数値、日付、空白、ワイルドカードなど、条件の種類によって書き方が変わるため、実務で使いやすい完成式から順番に確認していきましょう。

一覧表の中から「完了」だけ数えたいのですが、毎回手作業で確認するのは大変ですね。

条件が1つならCOUNTIF関数が適しています。数える範囲と条件を指定するだけで集計できます。

文字列だけでなく、金額や日付の条件も使えるようになりたいです。
目的別に使えるCOUNTIF関数の完成式
まずは、よく使うCOUNTIF関数の数式を目的別に確認します。データが2行目から100行目まで入力されている例です。
| 数えたい内容 | 数式 |
|---|---|
| B列が東京の件数 | =COUNTIF(B2:B100,”東京”) |
| D列が完了の件数 | =COUNTIF(D2:D100,”完了”) |
| E列が10万円以上の件数 | =COUNTIF(E2:E100,”>=100000″) |
| A列がH2の日付と一致する件数 | =COUNTIF(A2:A100,H2) |
| F列に返品を含む件数 | =COUNTIF(F2:F100,”*返品*”) |
| D列の空白セル数 | =COUNTIF(D2:D100,””) |
| D列の空白以外の件数 | =COUNTIF(D2:D100,”<>”) |
COUNTIF関数の基本形は次のとおりです。
=COUNTIF(範囲,検索条件)
「範囲」には条件を確認するセル範囲を指定し、「検索条件」には数えたい文字列や数値、比較条件を指定します。
たとえば、B2からB100までの中で「東京」と入力されているセルを数える場合は、次の数式を使用します。
=COUNTIF(B2:B100,”東京”)
数式を入力してEnterキーを押すと、条件に一致したセルの件数が表示されます。


COUNTIFは、指定した範囲の中から1つの条件に一致するセルを数える関数です。最初は「範囲」と「条件」の2つだけ覚えれば使い始められます。
文字列を条件にして件数を数える
完全に一致する文字列を数える
案件管理表のD列に「完了」「対応中」「未対応」が入力されている場合、完了した案件数は次の数式で求められます。
=COUNTIF(D2:D100,”完了”)
「完了」と完全に一致するセルだけが数えられます。「対応完了」や「完了済み」は別の文字列として扱われるため、この数式には含まれません。
条件をセルから参照する
数式の中へ条件を直接入力する代わりに、別のセルへ条件を入力して参照することもできます。
=COUNTIF(D2:D100,H2)
H2に「完了」と入力すると完了件数が表示され、H2を「未対応」に変更すると未対応件数へ切り替わります。
集計条件を頻繁に変更する場合や、入力規則のプルダウンと組み合わせる場合は、セル参照が使いやすい方法です。
特定の文字列以外を数える
「完了」以外のセルを数えたい場合は、等しくないことを表す「<>」を使用します。
=COUNTIF(D2:D100,”<>完了”)
この数式では、対応中、未対応、保留など、完了以外の値が対象になります。
ただし、集計範囲に空白セルがある場合は、表の状態によって期待する件数とずれることがあります。空白を含めたくない場合は、対象データを整えるか、複数条件に対応したCOUNTIFS関数を使用してください。
数値の以上・以下・範囲を集計する
売上金額、在庫数、作業時間などの数値を条件にする場合は、比較演算子を使用します。
| 条件 | 比較演算子 | 検索条件の書き方 |
|---|---|---|
| 10万円以上 | >= | “>=100000” |
| 10万円以下 | <= | “<=100000” |
| 10万円より大きい | > | “>100000” |
| 10万円未満 | < | “<100000” |
| 10万円ではない | <> | “<>100000” |
10万円以上の売上件数を数える
=COUNTIF(E2:E100,”>=100000″)
E列に入力された売上金額のうち、100000以上のセルを数えます。比較演算子と数値は、まとめて二重引用符で囲みます。
基準金額をセルから参照する
H2へ基準金額を入力し、その金額以上の件数を数える場合は、比較演算子とセル参照をアンパサンドでつなぎます。
=COUNTIF(E2:E100,”>=”&H2)
H2に100000と入力すれば10万円以上、H2を200000に変更すれば20万円以上の件数が表示されます。
次の書き方では、H2がセル参照ではなく文字列として扱われるため、正しい結果になりません。
=COUNTIF(E2:E100,”>=H2″)
10万円以上20万円未満を数える場合
COUNTIF関数は1つの条件を指定する関数なので、下限と上限を同時に設定するには工夫が必要です。COUNTIFだけで求める場合は、20万円未満の件数から10万円未満の件数を差し引きます。
=COUNTIF(E2:E100,”<200000″)-COUNTIF(E2:E100,”<100000″)
ただし、複数条件を扱う集計ではCOUNTIFS関数のほうが数式の意味を理解しやすくなります。
=COUNTIFS(E2:E100,”>=100000″,E2:E100,”<200000″)
複数条件の指定方法は、ExcelのCOUNTIFS関数の使い方|複数条件・日付範囲・OR条件・エラー対処を完全解説で詳しく確認できます。
日付を条件にして件数を数える
Excelでは日付も数値として管理されているため、COUNTIF関数で集計できます。ただし、見た目が日付でも文字列として保存されている場合は正しく数えられません。
指定した日付と一致する件数を数える
H2に集計対象の日付を入力している場合は、次の数式を使用します。
=COUNTIF(A2:A100,H2)
A列の日付とH2の日付が一致するセルを数えます。日付をセルへ入力して参照することで、数式を書き直さずに集計日を変更できます。
2026年4月1日以降の件数を数える
=COUNTIF(A2:A100,”>=”&DATE(2026,4,1))
DATE関数を使うと、年、月、日を明確に指定できます。日付を文字列として直接入力するよりも、環境による日付形式の違いを避けやすくなります。
今日までの件数を数える
=COUNTIF(A2:A100,”<=”&TODAY())
TODAY関数は現在の日付を返します。受付日や期限日が今日以前になっているデータを自動集計できます。
指定した月の件数を数える
2026年4月だけを数えるには、開始日と終了日の2条件が必要です。COUNTIFS関数を使うと、次のように指定できます。
=COUNTIFS(A2:A100,”>=”&DATE(2026,4,1),A2:A100,”<“&DATE(2026,5,1))
4月1日以上かつ5月1日未満にすることで、4月中のデータを集計できます。時刻が含まれるデータでも、4月30日のデータを取りこぼしにくい書き方です。


月別集計では「月末以下」ではなく「翌月1日未満」と指定すると、日付に時刻が含まれていても集計しやすくなります。
ワイルドカードで文字列の一部を数える
セル内の文字列が完全一致しない場合は、ワイルドカードを使用します。商品名、備考、問い合わせ内容などから、特定の文字を含むデータを探すときに役立ちます。
| 記号 | 意味 | 使用例 |
|---|---|---|
| * | 0文字以上の任意の文字列 | “*返品*” |
| ? | 任意の1文字 | “商品?” |
| ~ | ワイルドカード記号そのものを検索 | “~*” |
「返品」を含むセルを数える
=COUNTIF(F2:F100,”*返品*”)
「返品希望」「商品返品」「返品の確認中」など、文字列のどこかに「返品」が含まれているセルを数えます。
「要確認」で始まるセルを数える
=COUNTIF(F2:F100,”要確認*”)
「要確認」「要確認・担当者へ連絡」「要確認済み」など、先頭が「要確認」になっているセルが対象です。
特定の文字で終わるセルを数える
=COUNTIF(F2:F100,”*完了”)
「確認完了」「発送完了」「登録完了」など、末尾が「完了」のセルを数えます。
1文字だけ異なる文字列を数える
=COUNTIF(B2:B100,”大阪?”)
「大阪A」「大阪1」など、「大阪」の後ろに1文字あるセルを数えます。「?」は任意の1文字を表すため、2文字以上ある場合は一致しません。
アスタリスクそのものを検索する
=COUNTIF(F2:F100,”~*”)
「*」をワイルドカードではなく文字として検索したい場合は、直前にチルダを付けます。

空白セルと空白以外のセルを数える
空白セルを数える
=COUNTIF(D2:D100,””)
D列で値が表示されていないセルを数えます。未入力の対応状況や、入力漏れの確認に使用できます。
空白以外のセルを数える
=COUNTIF(D2:D100,”<>”)
D列に値が入力されているセルを数えます。表の入力済み件数を確認したいときに使えます。
空白に見えるセルで結果が合わない理由
見た目が空白でも、次のようなデータが入っていることがあります。
- 半角スペースや全角スペース
- 数式によって表示された空文字
- 外部データに含まれる見えない文字
- 先頭にアポストロフィが付いた文字列
空白件数が想定と違う場合は、対象セルを選択して数式バーを確認してください。スペースを削除する場合はTRIM関数、印刷できない文字を除去する場合はCLEAN関数を利用できます。
COUNTIFの結果が0になる原因と直し方
条件の文字列が完全に一致していない
セルに「対応完了」と入力されているのに、条件を「完了」にすると完全一致しません。
=COUNTIF(D2:D100,”完了”)
「完了」を含む文字列すべてを数える場合は、ワイルドカードを使用します。
=COUNTIF(D2:D100,”*完了*”)
余分なスペースが含まれている
「東京」と「東京 」は別の文字列です。外部システムからコピーしたデータやCSVから取り込んだデータでは、先頭や末尾にスペースが含まれることがあります。
セルを選択して数式バーを確認し、不要なスペースを削除してください。
数値が文字列として保存されている
見た目が100000でも、文字列として保存されていると、数値の比較条件で正しく判定されない場合があります。
- セルの左上に緑色の三角形が表示されている
- 数値が左寄せで表示されている
- セルの先頭にアポストロフィが付いている
警告アイコンから「数値に変換」を選ぶか、VALUE関数などを使って数値へ変換してください。
日付が文字列になっている
日付がExcelの日付データではなく文字列として保存されていると、「以上」「以下」の条件が正しく働きません。
セルの表示形式を変更しても表示が変わらない場合は、文字列になっている可能性があります。区切り位置機能やDATEVALUE関数を使い、Excelが認識できる日付へ変換してください。
比較演算子を二重引用符で囲んでいない
次の数式は正しい書き方ではありません。
=COUNTIF(E2:E100,>=100000)
比較演算子と数値をまとめて二重引用符で囲みます。
=COUNTIF(E2:E100,”>=100000″)
セル参照のつなぎ方が間違っている
次の数式では、H2が文字列として扱われます。
=COUNTIF(E2:E100,”>=H2″)
比較演算子とセル参照をアンパサンドでつないでください。
=COUNTIF(E2:E100,”>=”&H2)
数式をコピーしたときに範囲がずれている
COUNTIF関数を下方向や横方向へコピーすると、集計範囲も移動します。集計元の範囲を固定する場合は、絶対参照を使用します。
=COUNTIF($D$2:$D$100,H2)
ドル記号を付けたD2:D100は、数式をコピーしても移動しません。H2はコピー先に合わせてH3、H4と変化します。


結果が0になったら、数式だけでなく元データも確認してみましょう。文字列のスペースやデータ形式が原因になっていることもあります。
COUNTIF・COUNTIFS・SUMIFSの違い
条件集計で使用する代表的な関数には、COUNTIF、COUNTIFS、SUMIFSがあります。求めたい結果によって使い分けます。
| 関数 | 求める結果 | 使用例 |
|---|---|---|
| COUNTIF | 1つの条件に一致する件数 | 東京支店の件数 |
| COUNTIFS | 複数条件に一致する件数 | 東京支店かつ完了の件数 |
| SUMIFS | 複数条件に一致する数値の合計 | 東京支店かつ完了の売上合計 |
COUNTIFが向いているケース
- 特定の担当者の案件数を数える
- 完了したデータ件数を数える
- 基準金額以上のデータ件数を数える
- 特定の文字を含むセル数を数える
- 空白や未入力のセルを確認する
COUNTIFSへ切り替えるケース
「東京支店かつ完了」「田中さんかつ10万円以上」など、複数の条件をすべて満たす件数を数える場合はCOUNTIFS関数を使います。
=COUNTIFS(B2:B100,”東京”,D2:D100,”完了”)
SUMIFSへ切り替えるケース
件数ではなく、条件に一致した売上金額や数量を合計する場合はSUMIFS関数を使用します。
=SUMIFS(E2:E100,B2:B100,”東京”,D2:D100,”完了”)
条件付き合計の数式は、Excel SUMIFS関数の使い方完全ガイド|複数条件で集計する方法を初心者向けに解説で確認できます。
実務で使えるCOUNTIFの集計例
担当者別の案件数を集計する
H列に担当者名を並べ、I2へ次の数式を入力します。
=COUNTIF($C$2:$C$100,H2)
I2を下方向へコピーすると、H列に入力した担当者ごとの案件数を集計できます。
在庫数が発注基準以下の商品を数える
在庫数がE列、発注基準がH2に入力されている場合は、次の数式を使用します。
=COUNTIF(E2:E100,”<=”&H2)
在庫数が発注基準以下になっている商品件数を把握できます。条件付き書式と組み合わせれば、対象商品を色分けすることも可能です。
期限を過ぎた案件を数える
期限日がF列に入力されている場合は、次の数式で今日より前の日付を数えられます。
=COUNTIF(F2:F100,”<“&TODAY())
ただし、完了済みの案件を除外するには対応状況の条件も必要です。その場合はCOUNTIFS関数を使用します。
=COUNTIFS(F2:F100,”<“&TODAY(),D2:D100,”<>完了”)
商品コードの入力漏れを数える
=COUNTIF(A2:A100,””)
商品コードが未入力のセルを数えます。入力後に結果が0になれば、対象範囲の入力漏れが解消されたと判断できます。
COUNTIFで大文字と小文字を区別したい場合
COUNTIF関数は、英字の大文字と小文字を区別しません。「ABC」と「abc」は同じ文字列として数えられます。
大文字と小文字を区別して完全一致の件数を数える場合は、EXACT関数とSUMPRODUCT関数を組み合わせます。
=SUMPRODUCT(–EXACT(B2:B100,H2))
この数式では、B2:B100の文字列とH2の文字列を、大文字と小文字も含めて比較します。
複雑な条件式を自分で組み立てにくい場合は、ChatGPTでExcel関数を作る方法|初心者でも関数作成を自動化できる活用術も参考になります。ただし、生成された数式は元データの列や条件と一致しているか確認してから使用してください。
よくある質問
COUNTIFで複数条件を指定できますか?
COUNTIF関数で指定できる条件範囲と条件は1組です。複数条件をすべて満たす件数を数える場合はCOUNTIFS関数を使用します。
COUNTIFで「東京または大阪」を数えられますか?
それぞれのCOUNTIFを加算するとOR条件を作れます。
=COUNTIF(B2:B100,”東京”)+COUNTIF(B2:B100,”大阪”)
条件同士が重複する場合は二重集計に注意してください。
COUNTIFで部分一致を数える方法はありますか?
アスタリスクを使います。「返品」を含むセルを数える場合は次の数式です。
=COUNTIF(F2:F100,”*返品*”)
COUNTIFで空白以外を数える条件は何ですか?
空白以外を表す条件は「<>」です。
=COUNTIF(D2:D100,”<>”)
COUNTIFで色の付いたセルを数えられますか?
COUNTIF関数は、セルの背景色や文字色を直接条件にできません。色を付ける元になった値を条件にするか、フィルター、VBA、別の集計方法を検討します。
COUNTIFの範囲に列全体を指定してもよいですか?
=COUNTIF(B:B,”東京”)のように列全体を指定できます。ただし、大量の数式や大規模なブックでは処理が重くなる場合があります。データ範囲が決まっている場合は、B2:B1000など必要な範囲に絞ると管理しやすくなります。
関連記事
- ExcelのCOUNTIFS関数の使い方|複数条件・日付範囲・OR条件・エラー対処を完全解説
- Excel SUMIFS関数の使い方完全ガイド|複数条件で集計する方法を初心者向けに解説
- ChatGPTでExcel関数を作る方法|初心者でも関数作成を自動化できる活用術
- Excel業務を自動化する方法|作業時間を削減する実践テクニックを解説
まとめ
- COUNTIFは、指定した範囲から1つの条件に一致するセル数を求める関数
- 数値の以上・以下は、比較演算子と数値を二重引用符で囲んで指定する
- 条件をセルから参照する場合は、比較演算子とセル参照をアンパサンドでつなぐ
- 部分一致にはアスタリスク、任意の1文字には疑問符を使用する
- 複数条件はCOUNTIFS、条件に一致する数値の合計はSUMIFSを使用する
まずは「完了」「東京」など、文字列が完全一致する条件から試してみましょう。正しい件数が表示されることを確認してから、数値、日付、ワイルドカードへ応用すると、数式の間違いを見つけやすくなります。



