【エクセル時短】COUNTIFS関数で複数条件のデータ数を数えよう!AND条件も解説

Excel

皆さん、エクセルで「〇〇かつ△△であるデータの数を数えたい」と思ったことはありませんか?

すもりーマン
すもりーマン

部署が『営業部』で、かつ『契約済』の顧客の数を数えたいけど、手作業で数えるのは大変

でんちゃん
でんちゃん

そんな時に大活躍するのは、COUNTIFS(カウントイフス)関数だよ!

すもりーマン
すもりーマン

COUNTIF関数なら知ってるけど、COUNTIFS関数ってなんだ??

でんちゃん
でんちゃん

そういうと思ったよ!
今回は、COUNTIFS関数の使い方を紹介するよ!

すもりーマン
すもりーマン

やった!よろしく頼むよ!

COUNTIFS関数は、COUNTIF関数に条件を増やすだけで、使い方はとってもシンプルです。

この記事を読めば、COUNTIFS関数の使い方はもちろん、3つ以上の条件を指定する方法や、ちょっと応用的な使い方までマスターできますよ。

ぜひ最後まで読んで、日々のエクセル作業を効率アップさせましょう!

COUNTIFS関数とは? まずは基本を理解しよう!

COUNTIFS関数は、

指定した複数の条件をすべて満たすデータの個数を数える」ための関数です。

名前の最後に「S」がついているのは、複数の条件(Criteria)を指定できるからなんです。

似た関数にCOUNTIF関数がありますが、こちらは1つの条件しか指定できません。

もしCOUNTIF関数について詳しく知りたい方は、こちらの記事も参考にしてみてくださいね。

COUNTIFS関数の書式と引数

COUNTIFS関数の書式は次のようになります。

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

それぞれの引数について見ていきましょう。

  • 範囲1: 1つ目の条件を検索する範囲を指定します。
  • 条件1: 範囲1の中から数えたい条件を指定します。
  • 範囲2: 2つ目の条件を検索する範囲を指定します。
  • 条件2: 範囲2の中から数えたい条件を指定します。
  • ...: 必要に応じて、3つ目以降の範囲と条件を繰り返し指定できます。最大127組の条件を指定可能です。

引数で指定する「範囲」と「条件」は、必ずセットで指定する必要があります。

COUNTIFS関数の具体例を見てみよう

例として、以下のような売上データがあるとします。

【データ例1】

売上表

このデータから「担当者名が『田中』で、かつ状況が『契約済』の件数」を数えてみましょう。

数式は次のようになります。

=COUNTIFS(A2:A7, "田中", C2:C7, "契約済")

この数式を入力すると、結果は「2」と表示されます。

結果が「2」と表示されました!

解説

  1. A2:A7 は「担当者名」の範囲です。
  2. "田中" は「担当者名」が「田中」という条件です。
  3. C2:C7 は「状況」の範囲です。
  4. "契約済" は「状況」が「契約済」という条件です。

このように、条件を増やしたい場合は、範囲, 条件のセットを後ろに追加していくだけでOKです!

COUNTIFS関数の条件指定ルールをマスターしよう!

COUNTIFS関数では、様々な条件を指定できます。ここでは、よく使う条件の指定方法を見ていきましょう。

特定の文字列を指定する

先ほどの例のように、完全一致させたい文字列はダブルクォーテーション(”)で囲みます

  • "田中": 「田中」と完全に一致するものを数える
  • "契約済": 「契約済」と完全に一致するものを数える

特定の数値を指定する

数値の場合も、基本的にはそのまま数値を入力するか、ダブルクォーテーションで囲みます。

  • 10000: 「10000」と完全に一致するものを数える
  • "10000": 文字列としての「10000」と一致するものを数える(通常は前者でOKです)

比較演算子を使う(以上、以下、より大きい、より小さい、等しくない)

数値や日付などで「〜より大きい」「〜以下」といった条件を指定したい場合は、比較演算子を使います。
比較演算子を使う場合は、条件全体をダブルクォーテーションで囲みます

演算子意味説明
=等しい"=1000"1000と等しい
>より大きい">1000"1000より大きい
<より小さい"<1000"1000より小さい
>=以上">=1000"1000以上
<=以下"<=1000"1000以下
<>等しくない"<>"1000"1000と等しくない

【データ例2】

担当者名が『田中』で、かつ売上額が1000以上の件数」を数えてみましょう。

数式は次のようになります。

=COUNTIFS(A2:A7, "田中", C2:C7, ">=1000")

この数式の結果は「1」となります。(田中さんのノート10000円のみが該当します)

結果が「1」と表示されています

セル参照を使う

条件を直接入力するのではなく、別のセルに入力された値を条件として使うこともできます。

この場合、ダブルクォーテーションは不要です。

ただし、比較演算子と組み合わせる場合は少し注意が必要です。

【データ例3】

E2セルの担当者名で、F2セルの状況の件数」を数えてみましょう。

数式は次のようになります。

=COUNTIFS(A2:A7,E2, C2:C7,F2)

この数式の結果は「2」となります。

結果が「2」と表示されました


比較演算子とセル参照を組み合わせる場合

例えば、「売上額がG1セルに入力された値以上」という条件にしたい場合は、次のようにアンパサンド(&)で結合します。

">=1000"1000 の部分がセル参照になるイメージです。

=COUNTIFS(A2:A7, E1, C2:C7, ">="&G1)

ワイルドカードを使う(あいまい検索)

「特定の文字で始まる」「特定の文字が含まれる」といったあいまいな条件で数えたい場合は、ワイルドカードを使います。

ワイルドカードを使う場合も、条件全体をダブルクォーテーションで囲みます

ワイルドカード意味説明
*任意の文字列"*ノート"「ノート」で終わる文字列(例: 「学習ノート」)
?任意の一文字"田中?"「田中」に続く一文字(例: 「田中A」「田中B」)
~ワイルドカード文字そのもの"~*"アスタリスク(*)という文字自体を検索したい場合

【データ例4】

商品名に『ペン』が含まれていて、かつ状況が『見込み』の件数」を数えてみましょう。

数式は次のようになります。

=COUNTIFS(B2:B7, "*ペン*", C2:C7, "見込み")

この数式の結果は「2」となります。(赤ペン、黒ペンが該当します)

結果が「2」と表示されています

COUNTIFS関数とAND条件・OR条件

COUNTIFS関数は、基本的にAND条件(「〜かつ〜」)で動きます。つまり、指定したすべての条件を満たすものだけを数えます。

では、「〜または〜」といったOR条件で数えたい場合はどうすれば良いのでしょうか?

COUNTIFS関数だけではOR条件は指定できません。OR条件で数えたい場合は、COUNTIFS関数を複数使い、それらを足し合わせる方法が一般的です。

OR条件の例:「部署A」または「部署B」の件数を数える

例えば、「部署が『営業部』または『企画部』の契約済みの件数」を数えたい場合。

これは、「営業部で契約済みの件数」と「企画部で契約済みの件数」をそれぞれCOUNTIFS関数で計算し、その結果を足し合わせることで実現できます。

=COUNTIFS(部署範囲, "営業部", 状況範囲, "契約済") + COUNTIFS(部署範囲, "企画部", 状況範囲, "契約済")

3つ以上の条件を指定する場合

COUNTIFS関数は、最大127組の範囲と条件のペアを指定できます。つまり、3つ以上の条件を指定することも簡単にできます。

例えば、「担当者名が『田中』で、かつ商品名に『ノート』が含まれていて、かつ売上額が10000以上の件数」を数えたいとします。

【データ例5】

数式は次のようになります。

=COUNTIFS(A2:A8, "田中", B2:B8, "*ノート*", D2:D8, ">=10000")

この数式の結果は「2」となります。(田中さんのノート10000円と学習ノート11000円が該当します)

結果が「2」と表示されました

このように、条件が増えても書式は同じなので、迷うことなく使えますね。

COUNTIFS関数を使う上での注意点

COUNTIFS関数は便利ですが、いくつか注意しておきたい点があります。

範囲の大きさを合わせる

各条件の「範囲」は、必ず同じ行数・列数である必要があります。異なるサイズの範囲を指定すると、エラー(#VALUE!)になります。

NG例: =COUNTIFS(A2:A10, "条件1", B2:B5, "条件2")

この場合、A2:A10B2:B5の範囲が異なるためエラーになります。

条件の指定方法に注意する

文字列やワイルドカードを使う場合はダブルクォーテーションで囲む、数値単体の場合は囲まなくてもOK、比較演算子と組み合わせる場合は全体をダブルクォーテーションで囲むなど、条件の指定ルールをしっかり守りましょう。

大文字・小文字は区別しない

COUNTIFS関数は、条件を検索する際に大文字と小文字を区別しません。例えば、「apple」と「Apple」は同じものとして扱われます。もし大文字・小文字を区別して数えたい場合は、FIND関数や EXACT関数などを組み合わせる必要がありますが、少し応用的な内容になります。

空白セルと空白文字列(””)は区別する

空白セル(何も入力されていないセル)と、空白文字列(数式の結果が””となっているセル)は、COUNTIFS関数では異なるものとして扱われます

  • 空白セルを数えたい場合:"" を条件にする(例: =COUNTIFS(A:A,"")
  • 空白ではないセルを数えたい場合:"<>"&"" を条件にする(例: =COUNTIFS(A:A,"<>"&"")

日付の扱い

日付を条件にしたい場合も、基本的には数値と同様に扱います。エクセル内部では日付もシリアル値という数値で管理されているためです。

  • 特定の日付と一致:"=2023/1/1" のように日付形式の文字列をダブルクォーテーションで囲む
  • 日付の範囲指定:">=2023/1/1", "<=2023/1/31" のように範囲で指定する

より確実に日付を条件にしたい場合は、DATEVALUE関数などを使ってシリアル値に変換してから比較する方法もあります。


【応用編】もっと便利に!COUNTIFS関数の実践テクニック

日付の期間指定でデータを集計する

特定期間のデータを集計する際にCOUNTIFS関数は非常に役立ちます。例えば、2025年1月1日から2025年1月31日までの契約済みの件数を数えてみましょう。

【データ例6】

数式は次のようになります。

=COUNTIFS(D2:D7, ">=2025/1/1", D2:D7, "<=2025/1/31", C2:C7, "契約済")

この数式の結果は「2」となります。(2025/1/5の田中さん、2025/1/25の佐藤さんが該当)

結果が「2」と表示されました

特定の項目以外を数える(否定条件)

「〜ではない」という条件を指定したい場合は、**等しくない演算子(<>)**を使います。

例えば、「状況が『見込み』ではない、かつ売上額が5000以上の件数」を数えてみましょう。

【データ例7】

数式は次のようになります。

=COUNTIFS(C2:C7, "<>見込み", D2:D7, ">=5000")

この数式の結果は「2」となります。(田中さんのノート10000円、佐藤さんのノート9000円が該当)

結果が「2」と表示されました

まとめ:COUNTIFS関数を使いこなしてエクセルマスターに!

いかがでしたでしょうか? 今回はエクセルのCOUNTIFS関数について、基本的な使い方から、比較演算子やワイルドカードを使った条件指定、3つ以上の条件を指定する方法、そしていくつかの注意点や応用例までご紹介しました。

COUNTIFS関数は、複数の条件を満たすデータを瞬時に数え上げることができる、非常にパワフルな関数です。この記事で学んだことを活かして、ぜひ今日からあなたのエクセル作業に役立ててみてくださいね。

最初は少し難しく感じるかもしれませんが、実際に手を動かして試してみることで、きっとすぐに使いこなせるようになります。

今日のポイント

  • COUNTIFS関数は複数の条件をすべて満たすデータの数を数える関数
  • 書式は=COUNTIFS(範囲1, 条件1, [範囲2, 条件2], ...)
  • 文字列は""で囲む、数値はそのまま、比較演算子を使う場合は""で囲む
  • セル参照を使う場合は""は不要、比較演算子と組み合わせる場合は">="&セル参照のように&でつなぐ
  • ワイルドカード*?であいまい検索が可能
  • AND条件は直接、OR条件はCOUNTIFS関数を複数足し合わせる
  • 範囲の大きさを合わせるなど、いくつかの注意点がある

COUNTIFS関数をマスターして、もっと効率的にエクセルを活用していきましょう!

コメント

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