スポンサーリンク

条件に一致するセルの個数を数えるCOUNTIF関数

エクセル関数エクセル数式

こんにちは、とりっぷぼうるです。

元々エクセルとは全く縁のない生活をしていましたが、人員不足などで少しでもデータ入力作業や集計作業を効率化するしか方法が無く、仕方がなくエクセルに取り組み始まました。

波乗りアヒル
波乗りアヒル

作業効率化にはユーザーフォームを使いますが、様々な計算などはエクセル関数が必須です。

エクセル関数を使うことができないと、VBAどころじゃありませんし、成績表も作る事ができないのです。

当然ながらエクセルの専門知識もなく、学校に通うこともできずにただ単にエクセルの書籍とにらめっこしながら取り組んでいます。

波乗りアヒル
波乗りアヒル

でも書籍のままだと実用的でないことが多く、エクセル関数を組み合わせてみたら動いた!という実用例・体験談を書いています。

Excelの専門学校通学や・資格があるわけではありませんので、エクセル関数を組み合わせてみたらエラーにならずに動いてくれているだけなので、掲載の数式などが同じように動く保証はできません。
実際に動いているエクセルは2009と2016です。
スポンサーリンク

COUNT関数に条件を付けられる関数

前回、参加人数などを自動的に数えることができるCOUNT関数についてお話ししましたが、単純に入力済みセルや空白セルを数えるだけだったのですが、今回は条件を付けて一致するセルだけを数えられるCOUNT関数のお友達を紹介します。

COUNT関数の基本形については前回ご紹介したので、ここでは省略します。

セルの数を数えるCOUNT関数を使うようになると、

波乗りアヒル
波乗りアヒル

テストの成績が80点以上の生徒だけを数えて表示したい!って場合ありませんか?

こんな経験をすると、「80点以上」という条件をつけなくてはいけなくなります。

この条件に一致した生徒の数だけ数えたいって事になりますよね。

波乗りアヒル
波乗りアヒル

そこでCOUNT関数のお友達のCOUNTIF関数を使うことになります。

条件に一致するセルの個数を数えるCOUNTIF関数

エクセルの書籍などには、「COUNTIF関数 (統計関数の 1 つ) は、1つの検索条件に一致するセルの個数を返します。」と、書いてあります。

珍しく分かりやすいですよね、そのまんまなんですもんね。

この場合のCOUNTIF関数の使い方の基本は・・・

COUNTIF(セルの範囲,検索条件)

という数式になります。

検索条件には「数値」「数式」「文字」を入れることができますが、「文字」の場合のみ「””」で囲む必要があります。

ちなみに「””」のままだと、空欄を指すことになります。

そこで、私自身が使った事のある条件や、使うことがありそうな条件(まだ使っていないですが)を8つ取り上げてみました。

○○が条件の場合

COUNTIF検索条件が文字列

COUNTIF検索条件が文字列

上の図で男性の数を数えてセルC4に表示してみましょう。

この場合、セルC8~C15の範囲の中から条件に一致する(男性)セルの数(人数)を数えるということになり、数式は下記のようになります。

COUNTIF(C8:C15,“男性”

セルの範囲がC8:C15で、検索条件が”男性”という事です。

当然、”女性”とすれば、女性の数(3)を数えますし、””とすれば、空欄の数(1)を数えることになります。

このようにCOUNTIF関数の条件に直接「文字」で書けばすぐに条件に一致するセルの数を数えることができますが、条件が変わる場合が発生すると全てのセルを書き換えなくてなりませんので、おススメの方法ではありません。

特定のセルの値が条件の場合

COUNTIF検索条件がセルの値

COUNTIF検索条件がセルの値

同じく、男性の数を数えるのですが、今度は男性と直接数式に書き込まずにセルB4の値を指定してここに書き込まれた値(文字)を検索条件にします。

COUNTIF(C8:C15,B4

セルの範囲がC8:C15で、検索条件がB4の値(B4)という事で、B4の値が「男性」なので、男性の数を数えてセルC4に表示されます。

当然、”女性”とすれば、女性の数(3)を数えますし、””とすれば、空欄の数(1)を数えることになります。

このようにCOUNTIF関数の条件に直接「文字」ではなく、セルの値にすることで検索条件が変わったとしても、数式を直接変更することが無いのでシートの保護をかけて入力したい部分だけ酒精可能にしておけば、誤って数式を消してしまったりすることを回避できるのでこの方法をおススメします。

○○よりも大きいが条件の場合

今度は、合計点数が400点よりも大きいの人数を数えられるようにしましょう。

この場合の検索条件は「400点より大きい」になります。

COUNTIF(G8:G15,“>400”

セルの範囲がG8:G15で、検索条件が400より大きいという事になります。

○○よりも小さい(未満)が条件の場合

今度は、合計点数が400点よりも小さいの人数を数えられるようにしましょう。

この場合の検索条件は「400点未満」(400より小さい)になります。

COUNTIF(G8:G15,“<400”

セルの範囲がG8:G15で、検索条件が400より小きいという事になります。

大きいを表す「>」が小さいを表す「<」に変わっただけなので簡単ですよね。

○○以上が条件の場合

今度は、合計点数が400点以上の人数を数えられるようにしましょう。

この場合の検索条件は「400点以上」になります。

COUNTIF(G8:G15,“>=400”

セルの範囲がG8:G15で、検索条件が400以上という事になります。

より大きい「>」に「=」を加えるだけで以上になります。

○○以下が条件の場合

COUNTIF検索条件が以下

COUNTIF検索条件が以下

今度は、合計点数が400点以下の人数を数えられるようにしましょう。

この場合の検索条件は「400点以下」になります。

COUNTIF(G8:G15,“<=400”

セルの範囲がG8:G15で、検索条件が400以下という事になります。

大きいを表す「>」が小さいを表す「<」に変わっただけなので簡単ですよね。

等しくないが条件の場合

今度は、合計点数が0点ではない人数(受験した人数)を数えられるようにしましょう。

この場合の検索条件は「0点ではない」になります。

COUNTIF(G8:G15,“<>0”

セルの範囲がG8:G15で、検索条件が0点ではないという事になります。

「0」をセルの値にするには、「&]」を付け加えてセルを指定することもできます。

COUNTIF(G8:G15,“<>&H4”

複数の条件に一致するセルの個数を数えるCOUNTIFS関数

条件が1つの時は、COUNTIF関数で対応できたのですが、2つ以上ある場合は対応できません。

そこで複数の条件に一致するセルの個数を数えるならば、COUNTIF関数を使います。

例えば、300点以上400点未満の人数を数えるとしましょう。

この場合の検索条件は「300点以上400点未満」になります。

COUNTIFS(G8:G15,“>=300”,G8:G15,“<400”)

セルの範囲がG8:G15で、検索条件が300点以上400点未満いう事になります。

これでCOUNT関数の基本形と条件に一致する場合も対応できるようになりましたね。

数値のセル・文字列のセル・空欄セルを数える、COUNT関数の基本形のおさらいはこちらをどうぞ

スポンサーリンク

COUNTIFの応用実用例

条件に一致するセルの数を数える事ができるCOUNTIF関数の特徴を応用して、様々なデータ入力を行った時に、誤って重複してしまった時にメッセージを表示してお知らせしてくれる機能を作ることができます。

もし入力データがダブって重複すると、個数が1ではなく2以上になるという事なので、2以上の数字がCOUNTIF関数により発見したら、VBAのメッセージ機能を使って警告メッセージが表示される仕組みです。

どんなに数式やVBAでエクセル自動化させても、データ入力は人間が行うので間違いはつきものですからね。

スポンサーリンク

作業効率化に絶対必要なエクセル関数

  1. 指定したセルまたはセルの範囲の合計を計算【SUM関数】
  2. 指定範囲セルの入力済みセルの数を数える【COUNT関数】
  3. 指定範囲セルの平均点(アベレージ)を計算【AVERAGE】
  4. もし男性なら「1」そうでなく女性ならば「2」と振り分ける【IF関数】
  5. 小数点以下の処理【INT関数】
  6. 指定範囲セルの最大値を計算【MAX関数】
  7. 指定範囲セルの最小値を計算【MIN関数】
  8. 条件に当てはまる数値の合計を抽出【SUMIF関数】
  9. 表の中からデータ検索して指定した値を探す【VLOOKUP関数】
  10. 日付を入力するとデータが差し替わる表を作る【DGET関数】
エクセル使うならば、関数とVBAを組み合わせて作業効率化しませんか?
波乗りアヒル
波乗りアヒル

エクセルの勉強お疲れ様です。ちょっとひと休みしませんか?

コメント