Excelの「COUNTIF関数」は、条件を満たすデータの個数を数える際に使います。
=COUNTIF(範囲,検索条件) として使います。
このCOUNTIF関数は、様々な場面で利用できます。
それぞれ紹介していきます。
1. 条件を満たすデータの個数を数える
1-1. 条件が文字列で表せる場合
例えば下図のように
=COUNTIF(c$5:c$13,e6)
と打てば、c3からc13までの範囲のセルを調べ、値が「e6のセルに入っているモノ」となるデータの、個数を調べる事が出来ます。具体的には、下図ではe6に文字"B"が入っていますので、c列にあるB評価の人の数を数えています。
※クリックで拡大します。1-2. 条件が数値範囲になる場合
また、例えば11以上20以下のデータの個数を調べたい時、
=COUNTIF(B$5:B$13,"<="&F12)-COUNTIF(B$5:B$13,"<"&E12)
と打ちます。(検索値の不等号は" "でくくり、&セル番地で繋ぎます。)
COUNTIF(B$5:B$13,"<="&F12)で20以下のデータを数え、そこからCOUNTIF(B$5:B$13,"<"&E12)で、11未満のデータの個数を引くことで、11以上20以下のデータの個数を数えられます。
※クリックで拡大します。数値範囲集計は、ピボットや(オート)フィルタを使って数える事も出来ます。どちらが早いかは状況次第ですので、状況に応じて使い分けたい所です。
2. データが存在するかどうかを調べる
COUNTIF関数の条件を満たすデータの個数を数える事ができる性質を利用し、データの有無を調べる事に応用できます。下図では、「牛乳」「コーラ」が入っているかどうかを調べ、牛乳は存在していたため1(0以外の数値)が、コーラは存在しないため0が返ってきています。
※クリックで拡大します。3. 重複の有無の確認→重複データの削除
=COUNTIF(C$28:C28,C28)
と検索範囲の片方の行番号に$をつけ絶対行参照にし、片方は$をつけずに関数を組み、その関数を下の方までコピーします。こうすると、そこより上に同じデータ(重複)があれば2以上の数が、無ければ1が返ってきます。
下図の場合、34行目の牛乳が重複データとなるため、2が返ってきています。
※クリックで拡大します。こうしておいて、次に(オート)フィルタで2以上の数を選び、行削除をすれば、重複データを削除する事ができます。
4. 条件付き平均値などの集計
SUMIF関数と組み合わせる事で、例えば下図のように「晴れの日の売上の平均」等を計算する事ができます。SUMIF関数で条件に合うデータを合計し、COUNTIF関数で条件に合うデータの個数を数え、それで割る事で平均を出します。
※クリックで拡大します。これと同じ事であれば、実は「AVERAGEIF関数」で出来てしまいます。これよりも条件が複雑になる場合、「AVERAGEIFS関数」や、「DSUM,DCOUNT関数」やマクロ利用を検討する事になります。