条件に一致したデータの件数を知りたいCOUNTIF関数COUNTIFS関数-GSS/Excel/関数

条件に一致したデータの件数を知りたいCOUNTIF関数COUNTIFS関数-GSS/Excel/関数

条件に合致したデータの件数をカウントするCOUNTIFS関数・COUNTIF関数

売上データから特定の担当者の案件数を知りたい、特定の期間の取引件数を調べたいことってありますよね。
今回はCOUNTIFS・COUNTIF関数をご紹介します。
正直COUNTIFSでCOUNTIFを包含するので、COUNTIFSだけ書き方を覚えればOKです!早速やっていきましょう。

A B C D E F G H I
日付 担当者 チーム 顧客名 商品 単価 数量 売上 案件数
2024/1/5 田中 AAA 株式会社X 商品A 1000 10 10000 1
2024/1/6 佐藤 BBB 株式会社Y 商品B 2000 5 10000 1
2024/1/7 田中 AAA 株式会社Z 商品A 1000 15 15000 1
2024/1/8 山田 CCC 株式会社W 商品C 3000 3 9000 1

いつものシートです。今回は[K4]セルにお題が書かれているとします。
チームごとの案件数をカウントしていきます。

構文

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

正解例(仮)

まず正解例は下記の通り。

[L6]=COUNTIFS(C5:C19,K6)

ただこれも最適解ではないので、その辺りも説明していきます。

チームは[C5:C19]に書かれています。まず条件範囲を指定し、その後に条件を入力します。

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

上の式で言うと、
条件範囲1は[C5:C19]
条件1は[K6]

今回は条件が1つしかないので条件範囲2以降は続かないのでこれで終了です。
合体させた結果が[L6]=COUNTIFS(C5:C19,K6)になります。

条件が増えた場合は、同じように、条件範囲と条件を増やしていくだけです。意外と簡単ですよね?

なぜ最適解ではないのか?
先ほどこれが最適解ではないと言いました。それはなぜかというと、範囲が全て固定されていない状態のままだからです。
K L
チーム 案件数
AAA =COUNTIFS(C5:C19,K6)
BBB
CCC

改めて表を見ていきます。
AAA、BBB、CCCそれぞれで案件数の合計値を出そうとしています。計算して表示するセルが3つありますが、全て先ほどのように関数を入力するのは手間ですよね?

関数の中の「条件範囲」が一緒で、「条件」だけが違うので、コピペでいけそうって思いませんか?
結論、いけます。

絶対参照と相対参照

ただ[L6]=COUNTIFS(C5:C19,K6)のまま[L7][L8]セルにコピペをするとこうなります。

K L
チーム 案件数
AAA =COUNTIFS(C5:C19,K6)
BBB =COUNTIFS(C6:C20,K7)
CCC =COUNTIFS(C7:C21,K8)

一瞬合ってそうって思いますよね。でも範囲をよく見てみてください。
[L7]=COUNTIFS(C6:C20,K7)となっており、「条件範囲」がずれてしまっていることがわかります。

ここで使うのが「$」。範囲を固定します。

通常セルを使った関数を別のセルにコピペすると、相対参照され、位置がずれます。コピペ元の6行目から7行目にコピペしたことで、相対参照された結果、指定していた範囲が[C5:C19]から[C6:C20]に行がずれてしまいました。

行がずれることで、指定したい範囲がずれてしまうので、行を固定します。そこで書き直した式が下記です。

[L6]=COUNTIFS(C$5:C$19,K6)

このセルの状態で、[L6][L7][L8]にコピペすると

K L
チーム 案件数
AAA =COUNTIFS(C$5:C$19,K6)
BBB =COUNTIFS(C$5:C$19,K7)
CCC =COUNTIFS(C$5:C$19,K8)

[L7]=COUNTIFS(C$5:C$19,K7)
行がずれずに正しい式がコピペできました。

本当の正解

今度は複数の条件でカウントしてみましょう。担当者別かつチーム別の案件数を出してみます。

書き直した式がこちらです。

[M6]=COUNTIFS($B$5:$B$19,L6,$C$5:$C$19,$K6)
K L M
チーム 担当者 案件数
AAA 田中 =COUNTIFS($B$5:$B$19,L6,$C$5:$C$19,$K6)
BBB 佐藤
CCC 山田

条件範囲1(担当者)は[$B$5:$B$19]でずれて欲しくないので、列も行も固定します。
条件1(担当者の条件)は[L6]で行はずれて欲しいですが、列はずれて欲しくありません。
条件範囲2(チーム)は[$C$5:$C$19]でずれて欲しくないので、列も行も固定します。
条件2(チームの条件)は[$K6]で行はずれて欲しいですが、列はずれて欲しくありません。

合わせた結果が[M6]=COUNTIFS($B$5:$B$19,L6,$C$5:$C$19,$K6)です。

応用例:複数条件での絞り込み

COUNTIFS関数の真価は複数条件を組み合わせた時に発揮されます。以下のような条件で案件数をカウントしてみましょう。

  • 特定の期間内の案件数
  • 売上金額が一定以上の案件数
  • 特定の商品カテゴリの案件数
=COUNTIFS(A5:A19,">=2024/1/5",A5:A19,"=10000")

この式は以下の条件を満たす案件数をカウントします:

  • 日付が2024年1月5日以降
  • 日付が2024年1月10日以前
  • 売上が10,000円以上
ポイント:
日付や数値の比較では「>=」「」「<」の演算子を使用できます。文字列の部分一致には「*」(ワイルドカード)を使用します。

まとめ

COUNTIFS関数・COUNTIF関数の使い所

  • あるデータから条件が合致するデータの件数を知りたいとき
  • 複数の条件を組み合わせてデータを分析したいとき
  • データの傾向や分布を把握したいとき

構文

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

例文

COUNTIFS($B$5:$B$19,L6,$C$5:$C$19,$K6)
COUNTIF($C$5:$C$19,$K6)

覚えておきたいポイント

  • 絶対参照($)と相対参照を使い分けてコピペを効率化
  • 複数条件は条件範囲と条件をペアで追加
  • 比較演算子(>=、、<)で数値や日付の範囲指定が可能
  • ワイルドカード(*、?)で文字列の部分一致検索が可能

このように正しく絶対参照と相対参照を使いこなすことで、作る関数の数を最小限にすることができます。
ぜひ使いこなせるようにたくさん使ってみてくださいね。

コメントを残す