ExcelのCOUNTIFSの使い方|2つの条件に合う行を数える
COUNTIFSで2つの条件に合う行を数える
Excelで「担当Aが完了した作業だけ」のように、2つの条件に合う行を数えるならCOUNTIFS関数を使います。
今回E2に入れる式は次のとおりです。
=COUNTIFS(B2:B7,"担当A",C2:C7,"完了")
この式は、B列が「担当A」で、同じ行のC列が「完了」の行を数えます。6行の架空表ではT01とT04が該当するため、期待値は2です。
COUNTIFSは条件範囲と条件を組にして並べ、指定した条件をすべて満たす組を数えます。基本構文は次の形です。
=COUNTIFS(範囲1,条件1,範囲2,条件2)
MicrosoftのCOUNTIFS関数の説明でも、複数の条件をすべて満たす場合を数える関数として案内されています。

この記事の図は架空データによる自作図解で、Excelの実画面ではありません。期待値は表を手で照合したもので、Excelでの実行結果ではありません。
COUNTIFSが数えるのは条件に合う行の件数です。作業IDの数字を足したり、作業IDそのものを数値として集計したりする式ではありません。
6行の作業表でCOUNTIFSを入力する手順
ここからは、新しい空のシートに小さな表を作ります。図だけでなく、次の表を見ながら同じ内容を手入力できます。
1. 新しいシートのA1:C7に表を作る
A1からC1へ「作業ID」「担当」「進捗」と入力します。続けてA2:C7へ、次の6行を順番に入力してください。
| 作業ID | 担当 | 進捗 |
|---|---|---|
| T01 | 担当A | 完了 |
| T02 | 担当B | 完了 |
| T03 | 担当A | 未着手 |
| T04 | 担当A | 完了 |
| T05 | 担当B | 未着手 |
| T06 | 担当A | 進行中 |
説明用の行番号を別の列へ入力せず、表はA1:C7に収めます。
2. E2に式を入れる
E2を選び、半角の=から次の式を入力してEnterキーを押します。
=COUNTIFS(B2:B7,"担当A",C2:C7,"完了")
式の4項目は左から次の意味です。
B2:B7:担当を調べる範囲"担当A":探す担当C2:C7:進捗を調べる範囲"完了":探す進捗
直接入力する文字列は、半角の二重引用符で囲みます。条件範囲と条件の順番を入れ替えないことも大切です。
3. 2行目と5行目を照合する
表を上から見ると、2行目のT01と5行目のT04は、担当Aと完了の両方に一致します。この2行を数えるため期待値は2です。
3行目のT02は完了ですが、担当Bなので数えません。4行目のT03は担当Aですが、未着手なので数えません。
数える行と数えない行を目で照合すると、式の条件と期待値のずれを見つけやすくなります。
AND条件は「同じ行で両方に一致」
COUNTIFSの2条件はAND、つまり「かつ」の判定です。担当Aであり、かつ完了である同じ行だけが対象になります。

架空データによる自作図解です。
担当Aだけに一致するT03や、完了だけに一致するT02は、片方の条件しか満たさないため対象外です。
このAND判定はCOUNTIFSへ条件の組を並べることで行われます。別にAND関数を追加する必要はありません。
MicrosoftのCOUNTIF解説でも、1条件にはCOUNTIF、複数条件にはCOUNTIFSを使う方法が示されています。
片方だけに一致する件数を足す考え方とは異なります。この記事では、同じ行で2条件を満たす数え方に絞ります。
条件をセル参照で指定する方法
条件を式へ直接書かず、セルへ入力して切り替えることもできます。次の4つのセルを用意してください。
| セル | 入力内容 |
|---|---|
| F1 | 集計する担当 |
| G1 | 集計する進捗 |
| F2 | 担当A |
| G2 | 完了 |
E2の式を次の形に置き換えます。
=COUNTIFS(B2:B7,F2,C2:C7,G2)
F2とG2はセル参照なので二重引用符で囲みません。"F2"と書くと、F2の内容ではなく「F2」という文字を条件にしてしまいます。
F2が担当A、G2が完了なら期待値は同じ2です。2つの指定方法の違いは次のとおりです。
| 指定方法 | 条件を書く場所 | 式の二重引用符 | 条件を変える場所 |
|---|---|---|---|
| 直接指定 | 式の中 | 文字列を囲む | E2の式 |
| セル参照 | F2・G2 | セル参照は囲まない | F2・G2の入力 |
試しに、F2は担当Aのまま、G2だけを未着手に変えてみてください。この表での期待値は1です。
担当B・完了の期待値も1、担当B・進行中は0です。0はエラーではなく、両方の条件に合う行がないことを表します。
確認後はF2を担当A、G2を完了へ戻してください。
数が合わないときは条件と範囲を確認
期待した数にならないときは、まず2つの範囲の大きさと条件文字を順番に確認します。元データをまとめて削除する前に、式側を見直しましょう。
範囲の行数・列数をそろえる
今回の正しい組み合わせはB2:B7とC2:C7です。どちらも6行×1列なので、範囲の大きさがそろっています。
一方、B2:B7は6行×1列、C2:C6は5行×1列です。大きさが異なるため、後者をC2:C7へ直します。
MicrosoftのCOUNTIFS関数の仕様では、追加する条件範囲の行数と列数を最初の条件範囲に合わせる必要があります。

架空データによる自作図解です。不一致側は「要修正:範囲が不一致」と示しています。
行数と列数をそろえるのはCOUNTIFSの要件です。一方、この例で開始行も2行目にそろえるのは、同じ作業行の担当と進捗を対応させるためです。
同じ大きさでも、開始行がずれると比べる位置が変わります。この表では、担当と進捗のどちらも2行目から7行目までを指定してください。
データ行を増やすときは、2つの範囲を同じ最終行まで伸ばします。片方だけを伸ばすと、範囲の大きさが合わなくなります。
条件の文字と引用符を見直す
範囲が正しければ、次の点を確認します。
- 担当列と進捗列を取り違えていないか
- 条件の文字が表の内容と同じか
- セルに不要な前後の空白が入っていないか
- 直接書く文字列を二重引用符で囲んでいるか
- セル参照のF2やG2を二重引用符で囲んでいないか
式へ直接書くなら"担当A"、セルの内容を使うならF2です。この違いを分けて確認すると、原因を絞り込みやすくなります。
まとめ
COUNTIFSで2つの条件に合う行を数えるポイントは3つです。
範囲,条件の組を2組並べる- 同じ行で両方に一致する行だけを数える
- 2つの条件範囲の行数と列数をそろえる
まず6行の表と=COUNTIFS(B2:B7,"担当A",C2:C7,"完了")を使い、手で照合した期待値2と比べてみてください。
仕組みが分かったら、B列・C列・担当A・完了を、自分の表の列と条件へ置き換えましょう。
公式仕様は2026-10-23に確認しました。
