エクセルのCOUNTIFS関数の使い方を説明します。COUNTIF関数の仲間であるCOUNTIFS関数をうまく使えば、複数の条件を満たすデータを効率よく集計することができます。
具体的な使い道として、範囲内のデータを数えたり空白以外のセルを数えたりすることに応用できるでしょう。またエラーが発生した時の原因や対処方法も解説しているので、トラブル時は参考にしてください。
目次
エクセルのCOUNTIFS関数とは
エクセルのCOUNTIFS関数とは、指定した複数の条件が全て満たされるデータの数をカウントする関数です。
例えば顧客リストの中で、「20代」かつ「女性」かつ「8月生まれ」といった、複数の条件に当てはまるデータ数を数えることができます。複数の属性を持つデータのカウントをする時に、条件を細かく指定するのに有効な関数と言えるでしょう。
次によく似たスペルのCOUNTIF関数との違いを次の章で詳しく説明します。
COUNTIF関数とCOUNTIFS関数の違い
エクセルの中でもよく使用される関数にCOUNTIF関数がありますが、COUNTIFS関数との違いは何でしょうか?
大きな違いは、検索条件の数です。COUNTIF関数は1つの検索条件に一致するセルの数をカウントしますが、 COUNTIFS関数は複数の検索条件に一致するセルの数をカウントしてくれます。
COUNTIFS関数は検索条件を1つにすることもできるので、 COUNTIFS関数を使えるようにしておけば問題ないでしょう。
COUNTIFS関数の書式|複数の範囲・条件を設定
COUNTIFS関数の書式は「=COUNTIFS(範囲1, 検索条件1, 範囲2, 検索条件2, …)」です。範囲と検索条件がペアになっており、そのペアをいくつか指定することで複数の条件に一致するデータの数を求めることができます。
範囲と検索条件は最大で127組まで条件を指定することができます。COUNTIFS関数が使えないエクセルのバージョンの場合はCOUNTIF関数を工夫して代替することも可能ですが、記述が少し煩雑になります。
COUNTIFS関数で使える比較演算子
COUNTIFS関数はCOUNTIF関数と同様、比較演算子を用いて条件を指定します。以下に比較演算子の使い方をまとめたので参考にしてください。
比較演算子 | 意味 | 使用例 | 使用例の説明 |
---|---|---|---|
= | 等しい | “=5” | 5と等しい時に使用します。 |
<> | 等しくない | “<>5” | 5と等しくない時(5以外)の時に使用します。 |
> | より大きい | “>5” | 5より大きい数の時に使用します。5は含まないことに注意しましょう。 |
< | より小さい | “<5” | 5より小さい数の時に使用します。5は含まないことに注意しましょう。 |
>= | 以上 | “>=5” | 5以上の数の時に使用します。5は含まれます。 |
<= | 以下 | “<=5” | 5以下の数の時に使用します。5は含まれます。 |
このように比較演算子を使うと、数値データが満たすべき数的条件を細かく指定することができます。
また、等号や不等号は文字列にも適用することができます。「”<>東京”」と指定すれば、東京以外のセルのデータをカウントすることができます。
文字列の検索では「ワイルドカード」を使用すれば、特定の文字列を含む検索条件として柔軟な条件を指定することができます。「*」は0個以上の任意の文字列を、「?」は1個の任意の文字として使用します。
例えば「*東京*」と指定すれば「東京」を含む文字列を、「東京?」と使用すれば「東京〇」といったように「東京」の後に何か一文字加わった文字列を検索対象とすることができます。
COUNTIFS関数の使い方|複数条件を満たすデータを数える
それではCOUNTIFS関数を使って、複数条件を満たすデータを数えてみましょう。具体例として、画像のような顧客データを用います。
まず、指定したい条件をメモしておく場所を表の外に作成しておきましょう。条件が複数になると関数も煩雑になるので情報を整理します。
この例では、顧客リストから「20歳以下」かつ「女性」という属性を満たす顧客の数をカウントします。先ほど作成した欄に「20」と「女性」と入力しましょう。
セルE15に「=COUNTIFS(D3:D12,”<=20″,C3:C12,”女性”)」と入力します。(メモに使用した欄をセル参照を使用する場合は「=COUNTIFS(D3:D12,”<=”&B15,C3:C12,C15)」と書くこともできます。)これで指定した範囲の中かD列の数値が20以下でかつC列に「女性」と入力されているデータのみの数がカウントされます。
関数を入力し終えたら「Enter」キーを押しましょう。これで指定した条件を満たす顧客の人数が集計されました。
COUNTIFS関数の応用的な使い方
ここからは、COUNTIFS関数の応用的な使い方を解説していきます。ここで紹介する具体的な使い方を抑えておけば、かなり複雑な条件のデータのカウントにも対応できるようになるでしょう。
- COUNTIFS関数で単一条件に一致するデータを数える
- COUNTIFS関数で範囲内のデータを数える
- COUNTIFS関数でOR条件を指定してデータを数える(条件の重複なし)
- COUNTIFS関数でOR条件を指定してデータを数える(条件の重複あり)
COUNTIFS関数で単一条件に一致するデータを数える
COUNTIFS関数を使って、単一の条件に一致するデータを数えてみましょう。画像のようなデータの中で、30歳以下の顧客の人数を数えます。
やり方は簡単で、「=COUNTIFS(範囲,検索条件)」のように範囲と検索条件を1組のみ指定します。例では「=COUNTIFS(D3:D12,”<=30″)」となります。
関数を入力し終えたら「Enter」キーを押しましょう。30歳以下という単一条件を満たす顧客の人数がカウントされました。
このように単一条件を指定する場合は、COUNTIF関数を使用することも可能です。
COUNTIFS関数で範囲内のデータを数える
100回以上200回以下など、ある範囲に数値があることを条件としたデータのカウント方法を解説します。特に20代(20歳以上30歳未満)や90点台(90点以上100点未満)などの~代、~台という条件を指定する時に必須ですので使い方を覚えておきましょう。
例のような顧客データで20代の顧客の人数をカウントします。カウントした人数を表示させたいセルに「=COUNTIFS(D3:D12,”>=20″,D3:D12,”<30″)」と入力しましょう。「20代」と書くと単一条件のように思えますが、実際は「20歳以上かつ30歳未満」と2つの条件からなっています。
関数を入力し終えたら「Enter」キーを押します。これで20代の顧客の人数を数えることができました。
COUNTIFS関数でOR条件を指定してデータを数える(条件の重複なし)
次に「AまたはB」というOR条件を指定してみましょう。例では顧客リストを元に「20歳以下、または70歳以上」という条件を指定します。
指定する範囲に重複がない場合、COUNTIFS関数でそれぞれの条件のデータを数えた結果を足し合わせればOKです。ここでは「=COUNTIFS(D3:D12,”<=20″) + COUNTIFS(D3:D12,”>=70″)」というように入力します。
これで「20歳以下、または70歳以上」の顧客の数を数えることができました。
COUNTIFS関数でOR条件を指定してデータを数える(条件の重複あり)
続いて、条件に重複がある場合のOR条件の指定の仕方をみてみましょう。
例として、「女性または20歳以下」という条件を指定します。先ほどのように「女性」と「20歳以下」の顧客の人数を単純に足してしまうと、「女性かつ20歳以下」の顧客をダブルカウントしてしまうことになります。
そこで「女性の人数」+「20歳以下の人数」-「女性かつ20歳以下の人数」を計算すれば女性または20歳以下の人数を重複なくカウントすることができます。
関数で書くと画像のようになります。結果を表示させたいセルに「=COUNTIFS(C3:C12,”女性”)+COUNTIFS(D3:D12,”<=20″) -COUNTIFS(D3:D12,”<=20″,C3:C12,”女性”)」と入力しましょう。
これで「女性または20歳以下」の顧客の人数を重複なく数えることができました。
COUNTIFS関数で空白/空白以外のセルを数える方法
COUNTIFS関数のよくある活用方法として、空白や空白以外のセルを数えるというものがあります。値を含むセルだけを計算の対象とする場合など、空白セルの数を知りたい時に利用してみましょう。
- COUNTIFS関数で空白のセルを数える方法
- COUNTIFS関数で空白以外のセルを数える方法
COUNTIFS関数で空白のセルを数える方法
応用方法の1つとして、COUNTIFS関数で空白セルの数を数えてみましょう。引数の検索条件として「空白」を指定できればよいことになります。
空白はダブルクォーテーション「”」を連続で2つ入力すればOKです。関数を書き下すと「=COUNTIFS(範囲,””)」という指定の仕方になります。COUNTIFS関数以外でも空白の指定の仕方としてよく出てくるので覚えておきましょう。
これで空白セルをカウントすることができました。
COUNTIFS関数で空白以外のセルを数える方法
次に空白以外のセルを数えてみましょう。先ほど説明した比較演算子をうまく利用します。「〇〇以外」という条件を指定したい時は「等しくない」という意味の「<>」の比較演算子を使います。
具体的に、空白セル以外を指定する時には「=COUNTIFS(範囲,”<>”)」というように関数を入力すればOKです。
これで空白以外のセルの数をカウントすることができました。
セルに何も入力されていない空白セルを除外して、実効的なデータの数を把握したい時に有効な方法です。
COUNTIFS関数で#VALUE!エラーになる原因・対処方法
COUNTIFS関数を使っていると、「#VALUE!エラー」と表示されてしまう場合があります。原因とそれぞれの対処方法を説明していきますので、エラーが解消されるか試してみましょう。
- 閉じたブック内のセルまたは範囲を参照しているケース
- 複数の条件範囲で異なる条件範囲が指定されているケース
閉じたブック内のセルまたは範囲を参照しているケース
COUNTIF関数やCOUNTIFS関数で、閉じたブック内のセルや範囲を参照してしまっている場合に「#VALUE!エラー」が発生します。
このような原因の場合、対処方法としては数式に示されているリンクされたブックを開き、その後で「F9」 キーを押して数式を更新すればOKです。
この方法でエラーが解消されない場合、条件範囲の指定が間違っている可能性があります。詳細は次で解説します。
複数の条件範囲で異なる条件範囲が指定されているケース
複数の条件範囲で異なる条件範囲が指定されている(検索条件範囲ごとの行範囲が違っている)場合も「#VALUE!エラー」が発生します。
例えば「=CONTIFS()」では、検索条件範囲1が「3行目から8行目(A3:A8)」となっているのに検索条件範囲2が「3行目から7行目(C3:C7)」となっていて行の範囲が異なっています。
対処方法としては、引数で指定した「検索条件範囲の行範囲」を全て合わせればOKです。
COUNTIFS関数の使い方をおさらい
COUNTIFS関数を使えば、複数の条件を満たすデータ数を効率よくカウントすることができます。条件指定の仕方も「範囲」と「検索条件」を並べて記述するだけの簡潔なものなので書式をしっかり覚えましょう。
特に比較演算子やワイルドカードを用いた条件指定は、COUNTIFS関数以外でも広く使用されている汎用性の高い手法です。ぜひこの機会に柔軟な条件指定ができるように練習しておきましょう。
今話題のリスキリングは手元から!
リテラアップアプリのご利用について、法人の方は下記フォームよりお問い合わせください。
(Excel,WordなどOffice製品やPC関連の技術的な質問にはお答えできかねます。ご了承ご了承ください。)