【エクセル時短】は「少しでも早く仕事を終わらせたい!」というビジネスパーソンのみなさんに、Excelの作業効率をアップするワザをお届けする連載です。毎週木曜日更新。
過去の記事一覧はこちら【エクセル時短まとめ】

Excelで管理している会員の一覧表があり、男性だけ、または30代だけの人数を求めたいとき、どのような操作をしますか? 「フィルター」の機能で絞り込んで数える...といった方法もありますが、断然便利なのは、関数を使う方法です。

エクセル時短】第18回では、1つの条件を満たすデータの個数を求める「COUNTIF」(カウント・イフ)関数と、複数の条件で使える「COUNTIFS」(カウント・イフ・エス)関数を紹介します。あまり知られていませんが、時短できること間違いなしの「名関数」です!

条件が1つのときはCOUNTIF関数で決まり

COUNTIF関数は、その名の通り「条件(IF)を満たすデータを数える(COUNT)」関数です。構文は以下のとおりで、引数[範囲]に指定したセル範囲で[検索条件]に一致するデータの個数を求めます。

COUNTIF範囲, 検索条件

さっそくデータを数えてみましょう。ここでは「性別」が「男」を条件にしました。[検索条件]は「"」(ダブルクォーテーション)で囲って指定しましょう。

エクセル時短:条件を満たすデータの個数を数える関数(COUNTIF/COUNTIFS)

セルI3に「=COUNTIF(C3:C32,"男")」と入力すれば、男性の人数を一瞬で求められます。

同様に[範囲]で「居住地」列、[検索条件]で「"神奈川県"」と指定すれば、神奈川県在住の人数を求められます。

なお、[検索条件]には「*」や「?」などのワイルドカードを指定することもできます。例えば「"*県"」とすれば「県」を含むすべてのデータ、「"???県"」とすれば「県」を含む4文字のデータを条件に数えます。

続いて、「登録日」が「2017/4/1以降」のデータを数えてみましょう。

エクセル時短:条件を満たすデータの個数を数える関数(COUNTIF/COUNTIFS)

セルI6に「=COUNTIF(F3:F32,">=2017/4/1")」と入力しています。

Excelの日付は古いほど小さい数値、新しいほど大きい数値なので、[検索条件]に「">=2017/4/1"」と指定しています。不等号は半角で入力します。「より前」なら「<」、「より後」なら「>」のように使い分けてください。

不等号を使った応用例としては、否定を意味する「<>」があります。例えば「"<>神奈川県"」とすれば「神奈川県でない」、「"<>0"」とすれば「ゼロでない」という条件になります。

複数条件を指定できるCOUNTIFS関数の使いこなし

複数の条件を指定してデータの個数を求めたいときは、COUNTIFS関数を使います。条件を複数指定できるので「IFS」となるわけです。

COUNTIFS範囲1, 検索条件2, 範囲2, 検索条件2, ...

引数[範囲1]に指定したセル範囲で[検索条件1]に一致するデータ、かつ[範囲2]に指定したセル範囲で[検索条件2]に一致するデータ...といった具合に数えられます。[範囲]と[検索条件]のセットは127個まで指定できます。

指定した複数の条件は「AND条件」とみなされます。[範囲]のうち、すべての[検索条件]を満たしているデータの個数が求められることになります。

以上を踏まえて、先ほどと同じ会員リストで「年齢」が「30代」の人を数えてみましょう。

エクセル時短:条件を満たすデータの個数を数える関数(COUNTIF/COUNTIFS)

セルI9に「=COUNTIFS(E3:E32,">=30",E3:E32,"<40")」と入力します。「年齢」列(セルE3〜E32)が30以上、かつ「年齢」列が40未満のデータを数えられました。

COUNTIFS関数で注意したいのは、AND条件しか指定できない点です。例えば「50歳以上、もしくは30歳未満」を求めたくて

=COUNTIFS(E3:E32,">=50",E3:E32,"<30")

と入力しても、結果は「0」になってしまいます。「">=50"」と「"<30"」の両方を満たすデータは存在しないからです。

このような「OR条件」を指定したい場合は、COUNTIF関数を使って

=COUNTIF(E3:E32,">=50")+COUNTIF(E3:E32,"<30")

と入力します。50歳以上の人数と30歳未満の人数を別々に求めて、足すわけですね。

加えて、COUNTIFS関数では[範囲1]と[範囲2]に指定するセル範囲の列数や行数が等しくない場合、エラーになる点にも注意してください。

もう1つ、例を挙げましょう。「性別」が「女性」かつ「DM可否」が「可」、つまり複数の列のデータに対して条件を指定して人数を求めてみます。

エクセル時短:条件を満たすデータの個数を数える関数(COUNTIF/COUNTIFS)

セルI12に「=COUNTIFS(C3:C32,"女",G3:G32,"可")」と入力しています。

「女性かつDM可」の人数を求められました。「性別」列と「DM可否」列は共に1列30行なので、エラーにはなりません。

いかがでしたでしょうか? 条件が複雑になると引数の指定が複雑になりますが、手動では難しい個数のカウントを瞬時に行えるのが、COUNTIF関数とCOUNTIFS関数のメリットです。双方の特徴を知って、使い分けてください。