1. ホーム
  2. ブログ
  3. COUNTIFS関数の使い方|条件に合う件数を数える

COUNTIFS関数の使い方|条件に合う件数を数える

この記事は 事務でよく使うExcel関数まとめ|目的から探せる一覧 の1本です。他の関数もまとめて見られます。

「未処理が今どれだけ残っているか」を確認するとき、フィルタをかけて、画面右下の件数を見て、またフィルタを外して……という作業をしていませんか。

担当者ごとに見たいと思えば、さらに絞り込みをやり直すことになります。

これを1つの表で常に見えるようにするのが COUNTIFS(カウントイフズ) です。

この記事で作るもの

こういう受付管理表があるとします。

A1
ABCD
1受付日担当区分ステータス
22026-09-01田中見積完了
32026-09-02佐藤修理未処理
42026-09-03田中見積未処理
52026-09-04鈴木納品完了
62026-09-05田中修理未処理
受付管理
実務では何百行にもなりますが、考え方は同じです。

ここから 「未処理は何件か」「田中さんの未処理は何件か」 を、フィルタを使わずに出します。

COUNTIFSの形

=COUNTIFS(条件の範囲1, 条件1, 条件の範囲2, 条件2)
  1. 条件の範囲11つ目の条件を探しに行く列。ここではステータスのD列
  2. 条件1探す中身。文字は "未処理" のようにダブルクォートで囲む
  3. 条件の範囲22つ目の条件を探しに行く列。ここでは担当のB列
  4. 条件22つ目の探す中身

「どこを見て」「何を探すか」の2つ1組を並べるだけです。組はいくつでも増やせます。

!

足し算ではなく「数える」だけなので、最初の引数がありません

条件に合う行を合計するときは、最初に「合計したい列」を書きます。
COUNTIFSは数えるだけなので、その最初の1つがありません。
いきなり「どこを見て」「何を探すか」から始まります。

ここだけ押さえれば、あとの書き方は同じです。

STEP1:条件1つで数える

まず「未処理は何件か」から始めます。

A1 =COUNTIFS(D2:D6, "未処理")
ABCD
1受付日担当区分ステータス
22026-09-01田中見積完了
32026-09-02佐藤修理未処理
42026-09-03田中見積未処理
52026-09-04鈴木納品完了
62026-09-05田中修理未処理
受付管理
黄色の行が数えられます。結果は 3 です。

式の意味を日本語にすると、こうなります。

D2からD6のうち、「未処理」と書かれている行の数を数える。

これで条件1つは完成です。

STEP2:条件を2つにする

「田中さんの未処理」を出します。組をもう1つ足すだけです。

A1 =COUNTIFS(D2:D6, "未処理", B2:B6, "田中")
ABCD
1受付日担当区分ステータス
22026-09-01田中見積完了
32026-09-02佐藤修理未処理
42026-09-03田中見積未処理
52026-09-04鈴木納品完了
62026-09-05田中修理未処理
受付管理
両方の条件に合う行だけ。結果は 2 です。

条件は「かつ」でつながります。両方に当てはまる行だけが数えられます。「または」で数えたい場合は、それぞれ数えて足すのが確実です。

STEP3:進捗表にして、常に見えるようにする

ここからが実務で効くところです。条件を式に直接書かず、表の見出しから読ませます。

B2 =COUNTIFS(受付管理!$D:$D, B$1, 受付管理!$B:$B, $A2)
ABC
1担当未処理完了
2田中21
3佐藤10
4鈴木01
5合計32
進捗
B2に式を1つ入れて、右と下にコピーするだけで表が埋まります。

ポイントは $ の位置です。

書き方意味
B$1行は1行目で固定、列は動く(右にコピーすると C$1 になる)
$A2列はA列で固定、行は動く(下にコピーすると $A3 になる)
$D:$D参照する列を固定(コピーしてもズレない)

この書き方にしておくと、式を書くのは1回だけで、あとはコピーで表全体が埋まります。担当者が増えたら行を足すだけです。

!

この表を1枚作っておくと、朝の確認が数秒で終わります

毎朝フィルタをかけ直す必要がなくなり、
「誰のところで止まっているか」がひと目で分かるようになります。

条件の書き方

数字や日付を条件にするときは、不等号が使えます。

書きたいこと書き方
ちょうどこの値"未処理"
〜以上">=2026/9/1"
〜より大きい">100000"
これ以外"<>完了"
空白でない"<>"
空白である""

不等号も含めて、ぜんぶダブルクォートの中に入れます。

部分一致で数えたいときは *(アスタリスク)が使えます。

=COUNTIFS(C2:C6, "*修理*")
  1. C2C6: 区分の列
  2. "*修理*"「修理」という文字を含むものすべて

* は「ここに何文字あってもいい」という意味です。"修理*" なら修理で始まるもの、"*修理" なら修理で終わるものになります。

よくあるつまずき

×

答えが 0 になる

見た目が合っていても、中身が違っています。

・「未処理 」のように余分なスペースが入っている
・全角と半角が混ざっている(ABCABC
・入力ゆれがある(「未処理」「未対応」「未」)

確認するには、空いているセルに =D2="未処理" と入れてみてください。
TRUE なら一致、FALSE なら見た目が同じでも中身が違います。

入力ゆれは、数えた時点では気づけません。ステータスのように数える対象になる列は、手入力にせずプルダウンから選ぶ形にしておくのが本来の対策です。

余分なスペースをまとめて取り除く方法は TRIM関数の使い方 で扱います。

×

「数式が正しくありません」と出る/結果がおかしい

条件の範囲どうしで行数が揃っていないときに起きます。

D2:D6 に対して B2:B100 のようにズレていないか確認してください。
$D:$D $B:$B のように列全体を指定すると、この間違いは起きなくなります。

!

空欄を数えるときは注意してください

式で ""(空の文字)を表示している行は、見た目は空欄でも
「空の文字が入っている」状態です。数え方によって結果が変わります。

詳しくは IF関数の使い方 の「よくあるつまずき」を参照してください。

使える場面

  1. 未処理・未回収の件数

    請求の未入金、見積の未回答、クレームの未対応。「残っている件数」が常に見える状態になります。

  2. 担当者別・月別の進捗表

    縦に担当者、横に月やステータスを並べて、交点にCOUNTIFSを1つ。手作業の集計が要らなくなります。

  3. データの件数チェック

    取り込んだCSVの行数と、条件に合う行数を並べて、抜けや重複がないかを確認できます。

3つ目は地味ですが効きます。「全部で何件あるはずか」を式で出しておくと、データの取り込みミスにその場で気づけます。

今日やってみること

  1. 手元の管理表を1つ開く

    受付、進捗、在庫、点検。ステータスの列がある表ならどれでも使えます。

  2. 空いているセルに条件1つで書いてみる

    =COUNTIFS(ステータスの列, "未処理") の形です。まず1つから。

  3. フィルタをかけた件数と見比べる

    画面右下に出る件数と一致すれば正解です。ここが合っていれば、条件を足していくだけです。

いきなり進捗表を作ろうとしないでください。条件1つで合うことを確認してから、組を足していく。この順番なら、ズレたときに原因がすぐ分かります。

次に読むとよい記事

COUNTIFSは「数える」関数です。同じ形で、合計や平均も出せます。


「どこで止まっているか分からないまま、毎回確認に時間を使っている」という状態でしたら、管理表の作り方から整理できます。現状のヒアリングと課題整理は無料です。

#Excel#COUNTIFS#進捗管理

この記事について

SUPRAXは、林業・製造・運送の現場経験をもとに、中小企業の業務改善・AI活用・GISの支援を行っています。 記事の内容について「うちの場合はどうか」を聞きたい方は、無料相談をご利用ください。

無料で相談してみる

あわせて読みたい

記事一覧へ戻る