スプレッドシートのCOUNTIFS関数の使い方|複数条件カウント

スポンサーリンク

スプレッドシートのCOUNTIFS関数の使い方|複数条件カウント

「営業部の4月のデータが何件あるか数えたい」「商品カテゴリと担当者の組み合わせで件数を出したい」。条件が2つ以上になると、どう数式を組めばいいか迷いますよね。

COUNTIF関数なら条件を1つ指定して数えられます。でも、部署と月のように条件が2つ以上になると対応できません。

そんなときに使うのがCOUNTIFS関数です。この記事では基本の書き方から日付条件・ワイルドカードの指定方法まで紹介します。

COUNTIFS関数とは?

COUNTIFS関数(読み方: カウントイフエス関数)は、複数の条件をすべて満たすセルの個数を返す関数です。

名前はCOUNT(数える)+IF(もし)+S(複数形)が由来です。「複数の”もし”で数える」という意味になっています。

たとえば出席簿で「営業部の、出席者だけを数えたい」場合を考えてみましょう。A列に部署名、B列に出欠が並んでいるとします。COUNTIFS関数を使えば、A列が「営業部」かつB列が「出席」の行だけを数えてくれます。

COUNTIFS関数にできることをまとめると、次のとおりです。

  • 2つ以上の条件を同時に指定してカウントする(AND条件)
  • 比較演算子で「以上・以下」「等しくない」を条件にできる
  • ワイルドカードで部分一致のカウントができる
  • 日付の期間を区切って件数を集計できる
  • 条件のペアは最大127組まで追加できる

NOTE

COUNTIFS関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。

COUNTIFS関数の書き方(構文と引数)

基本構文

=COUNTIFS(条件範囲1, 条件1, [条件範囲2, 条件2], ...)

カッコの中に、条件範囲と条件をセットで指定します。

引数の説明

引数必須/任意説明
条件範囲1必須1つ目の条件を判定するセル範囲
条件1必須1つ目の条件(例: “営業部”)
条件範囲2任意2つ目の条件を判定するセル範囲
条件2任意2つ目の条件

条件のペア(条件範囲と条件)は最大127組まで追加できます。

COUNTIF関数との引数構造の違い

COUNTIFS関数を使い始めるとき、COUNTIF関数との違いを把握しておくと混乱しません。構文を並べて比較してみましょう。

=COUNTIF(範囲, 条件)
=COUNTIFS(条件範囲1, 条件1, 条件範囲2, 条件2, ...)
比較項目COUNTIFCOUNTIFS
条件の数1つだけ複数(最大127組)
引数の構造(範囲, 条件)(条件範囲1, 条件1, ...)
範囲の指定1つの範囲条件ごとに別の範囲を指定可能

COUNTIFは「1つの範囲で1つの条件」です。COUNTIFSは「条件ごとに範囲を分けて指定できる」のがポイントです。

TIP

COUNTIFS関数は条件が1つでも使えます。引数の書き方を統一したい方は、最初からCOUNTIFS関数に統一するのもおすすめです。

SUMIFS関数との違い

SUMIFS関数は「合計範囲」が先頭に来ます。一方COUNTIFS関数は「数える」だけなので合計範囲が不要です。

=SUMIFS(合計範囲, 条件範囲1, 条件1, ...)
=COUNTIFS(条件範囲1, 条件1, ...)

SUMIFS関数の第1引数(合計範囲)がないぶん、COUNTIFS関数のほうがシンプルです。

COUNTIFS関数の基本的な使い方

ここからは、次の売上データを使って具体的な使い方を見ていきます。

_images/spreadsheet-countifs-function/01_data_sample-table.png
 A列(部署)B列(担当者)C列(商品)D列(金額)E列(ステータス)
2行目営業部田中プランA50000受注
3行目総務部鈴木プランB30000見積
4行目営業部佐藤プランA80000受注
5行目営業部田中プランC45000見積
6行目総務部鈴木プランA60000受注
7行目営業部佐藤プランB35000失注

条件が1つの場合(COUNTIFS関数の基本形)

まずは条件が1つのシンプルな例からです。「営業部」の件数を数えてみましょう。

=COUNTIFS(A2:A7, "営業部")
  • A2:A7(条件範囲1): ここから「営業部」を探す
  • “営業部”(条件1): この文字列と一致するものが対象
_images/spreadsheet-countifs-function/02_formula_countifs-basic.png

A列が「営業部」の行を数えます。結果は 4 です。

複数条件(AND条件)でカウントする

COUNTIFS関数の本領は、複数条件の指定です。「営業部」かつ「受注」の件数を数えてみましょう。

=COUNTIFS(A2:A7, "営業部", E2:E7, "受注")

!_images/spreadsheet-countifs-function/03_formula_countifs-multi.png

A列が「営業部」で、E列が「受注」の行を数えます。結果は 2(2行目と4行目)です。

条件をさらに追加することもできます。「営業部」「受注」「プランA」の3条件なら次のとおりです。

=COUNTIFS(A2:A7, "営業部", E2:E7, "受注", C2:C7, "プランA")

結果は 2 です。条件範囲と条件のペアを増やしていくだけなので、仕組みはシンプルですよ。

セル参照で条件を指定する

条件をセル参照にすると便利です。G1セルに部署名、G2セルにステータスを入力し、数式で参照します。

=COUNTIFS(A2:A7, G1, E2:E7, G2)

セルの値を変えるだけで条件を切り替えられます。集計ダッシュボードを作るときに活用してみてください。

COUNTIFS関数の条件指定パターン

COUNTIFS関数ではさまざまな条件を使えます。実務でよく使うパターンをまとめました。

比較演算子を使う(以上・以下・不一致)

数値の大小で絞り込むには比較演算子を使います。演算子はダブルクォーテーションで囲んでください。

演算子意味書き方の例
>=以上">=50000"
<=以下"<=100000"
>より大きい">50000"
<より小さい"<50000"
<>等しくない"<>営業部"

「営業部」かつ金額が50,000以上の件数を数えるにはこう書きます。

=COUNTIFS(A2:A7, "営業部", D2:D7, ">=50000")

結果は 2(50000と80000の行)です。

セル参照と組み合わせる場合は & で連結します。

=COUNTIFS(A2:A7, "営業部", D2:D7, ">="&G1)

ワイルドカードで部分一致を指定する

COUNTIFS関数ではワイルドカードも使えます。部分一致で条件を指定したいときに便利です。

記号意味使用例マッチする値
*任意の文字列(0文字以上)"プラン*"プランA、プランB
?任意の1文字"プラン?"プランA(1文字のみ)
~**そのものを検索"~*印"*印

「プラン」で始まる商品の営業部の件数を数える例です。

=COUNTIFS(A2:A7, "営業部", C2:C7, "プラン*")

日付を条件に使う

日付で絞り込む場合はDATE関数と比較演算子を組み合わせます。

A列に日付が入っている場合、2026年4月の営業部の件数を数える数式がこちらです。

=COUNTIFS(A2:A100, ">="&DATE(2026,4,1), A2:A100, "<="&DATE(2026,4,30), B2:B100, "営業部")

同じ条件範囲に「4/1以上」と「4/30以下」の2条件を指定しています。日付の範囲指定でよく使うテクニックです。

NOTE

日付を文字列で直接指定すること(例: ">=2026/4/1")もできます。ただし地域設定によっては正しく認識されない場合があるため、DATE関数を使うほうが確実です。

OR条件(「または」)でカウントしたい場合

COUNTIFS関数の条件はすべてAND条件(かつ)で評価されます。「営業部または総務部」のようなOR条件を直接は指定できません。

OR条件を実現するには、複数のCOUNTIFS関数を足し算します。

=COUNTIFS(A2:A7, "営業部") + COUNTIFS(A2:A7, "総務部")

条件が多い場合はSUMPRODUCT関数が便利です。

=SUMPRODUCT(((A2:A7="営業部")+(A2:A7="総務部"))*(E2:E7="受注"))

実務でのCOUNTIFS関数活用例

基本がわかったところで、仕事でよく使うパターンを紹介します。

パターン1: 部署×ステータスのクロス集計

部署とステータスの2軸で件数を集計するクロス集計表を作るパターンです。

=COUNTIFS($A$2:$A$100, $F2, $E$2:$E$100, G$1)

F列に部署名、G1行にステータスを配置します。範囲を絶対参照にしておけば、数式を縦横にコピーするだけで集計表が完成します。

パターン2: 期間×条件の件数集計

日付と条件を組み合わせて月別の件数を出す例です。H1に月の開始日、I1に月の終了日が入っているとします。

=COUNTIFS($A$2:$A$100, ">="&H$1, $A$2:$A$100, "<="&I$1, $B$2:$B$100, $F2)

行に担当者名を並べれば、月別×担当者別の件数表になりますよ。

パターン3: 重複データの件数チェック

2列の組み合わせで重複しているデータを検出するパターンです。A列に部署、B列に担当者が入っているとします。

=IF(COUNTIFS($A$2:$A$100, A2, $B$2:$B$100, B2)>1, "重複あり", "")

「営業部×田中」の組み合わせが2回以上あれば「重複あり」と表示されます。

パターン4: 進捗管理ダッシュボード

タスク管理表で複数条件の進捗を集計するパターンです。A列に担当者、B列に優先度、C列にステータスが入っているとします。

=COUNTIFS(A2:A100, "田中", B2:B100, "高", C2:C100, "未着手")

「田中さんの、優先度が高い、未着手タスク」の件数が一発でわかります。

パターン5: 数値範囲でのカウント

点数が特定の範囲に入る件数を数えるパターンです。同じ条件範囲に2つの条件を指定します。

=COUNTIFS(D2:D100, ">=70", D2:D100, "<80")

70点以上80点未満の件数を数えます。成績分布表を作るときに便利です。

TIP

条件を1つだけ指定してカウントしたいときはCOUNTIF関数のほうがシンプルです。条件の数に応じてCOUNTIFとCOUNTIFSを使い分けましょう。

よくあるエラーと対処法

COUNTIFS関数で思った結果にならないときの原因と対策をまとめました。

COUNTIFS関数が0になる原因

最も多いトラブルは「結果が0になる」ケースです。

原因具体例対処法
全角・半角の不一致「営業部」と全角混じりの「営業部」ASC関数(半角化)またはJIS関数(全角化)で統一
余分なスペース「営業部 」と「営業部」が不一致TRIM関数でスペースを除去
数値がテキスト形式数値に見えるが左揃え表示VALUE関数で数値に変換
比較演算子の引用符忘れ>=50000"" で囲んでいない必ず ">=50000" と引用符で囲む
日付がテキスト形式日付に見えるが文字列DATEVALUE関数で日付に変換

NOTE

COUNTIFS関数は大文字・小文字を区別しません。「Tokyo」と「tokyo」は同じ条件として扱われます。

#VALUE!エラーが出る場合

原因対処法
条件範囲のサイズが互いに異なるすべての条件範囲を同じ行数・列数に揃える
条件の文字数が255文字を超えている条件を短くするか、セル参照に変更

条件範囲のサイズ不一致は#VALUE!エラーになります。0が返るのではなくエラーになるので注意してください。

デバッグの手順

0になったときは、次の手順で原因を切り分けましょう。

1. 条件を1つだけにして試す

まず条件を1つだけにして値が返るか確認します。

=COUNTIFS(A2:A7, "営業部")

これで値が返れば、2つ目以降の条件に問題があります。

2. COUNTIF関数で個別に確認する

各条件を個別にCOUNTIF関数で検証します。

=COUNTIF(A2:A7, "営業部")
=COUNTIF(E2:E7, "受注")

それぞれの件数がわかれば、どの条件で0になるか特定できます。

3. データクリーンアップを使う

メニューの「データ」→「データクリーンアップ」を選択します。文字列になっている数値をまとめて変換できますよ。

似た関数との違い・使い分け

条件付きの集計関数はCOUNTIFS以外にもあります。どの関数を使えばいいか迷ったら次の表を参考にしてください。

関数名用途条件の数
COUNTIF1条件でカウント1つ
COUNTIFS複数条件でカウント複数(AND条件)
SUMIF1条件で合計1つ
SUMIFS複数条件で合計複数(AND条件)
COUNTBLANK空白セルをカウント条件なし

COUNTIF → COUNTIFS の段階的な使い分け

カウント関数は段階的に使い分けるのがおすすめです。

  1. 条件なしで数える → COUNT関数やCOUNTA関数
  2. 条件が1つCOUNTIF関数
  3. 条件が2つ以上(AND) → COUNTIFS関数
  4. OR条件や複雑な判定SUMPRODUCT関数

条件の数が増えるにつれて、上位の関数に切り替えていくイメージです。

COUNTIFS関数とSUMIFS関数の使い分け

「件数を知りたい」ならCOUNTIFS、「合計を知りたい」ならSUMIFSです。

比較項目COUNTIFSSUMIFS
戻り値件数(個数)合計値
合計範囲不要必須(第1引数)
条件の扱いAND条件AND条件

引数の構造はほぼ同じです。SUMIFSは先頭に合計範囲が加わるだけです。セットで覚えておくと便利ですよ。

Excelとの違い

COUNTIFS関数はExcelとGoogleスプレッドシートでほぼ同じ動作です。

項目ExcelGoogleスプレッドシート
基本動作同じ同じ
条件ペアの上限最大127組最大127組
ワイルドカード* ? 使用可* ? 使用可
大文字小文字の区別区別しない区別しない
列全体指定A:A(やや重い)A:A(パフォーマンス良好)

大きな違いはありません。ExcelのCOUNTIFS関数に慣れている方は、同じ書き方で使えますよ。

Googleスプレッドシートでは列全体の指定(A:A)が比較的軽快に動作します。データ量が多い場合は範囲を限定するとさらに高速です。

まとめ

COUNTIFS関数のポイントをおさらいしましょう。

  • COUNTIFS関数は「複数の条件を同時に指定してカウントする」関数
  • 書き方: =COUNTIFS(条件範囲1, 条件1, 条件範囲2, 条件2, ...)
  • 条件が1つならCOUNTIF関数、2つ以上ならCOUNTIFS関数
  • 比較演算子やワイルドカードも使える
  • OR条件はCOUNTIFS関数の足し算で対応
  • 0になったらスペース・全角半角・文字列型を確認
  • 条件範囲のサイズ不一致は#VALUE!エラー

まずは =COUNTIFS(A:A, "条件1", B:B, "条件2") の基本形から試してみてください。


この記事で紹介した関数・関連記事

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