Googleスプレッドシートを活用していく上で、セルの個数を数えてくれるカウント関連の関数を使う機会は多くあります。
カウント関連の関数は、種類が特に多く、使い分けるのに苦労しているといったことはないでしょうか。数値が入ったセルの個数を数えるCOUNT関数をはじめ、文字列(テキスト)を含めた空白セル以外の個数を数えるCOUNTA関数、空白セルを数えるCOUNTBLANK関数など、それぞれに特徴があり、それら違いを理解し、うまく使い分けていく必要があります。
しかしそれらたくさんある種類のすべてを覚えなくても、これだけ覚えておけば大丈夫という、とても便利なものがあります。
それが「COUNTIF関数」です。
本記事ではその「COUNTIF関数」について詳しく解説していきます。
この関数を使いこなせるようになればデータ分析などGoogleスプレッドシートの活用の幅が大きく広がるため、ぜひこの機会に覚えてみてください。
COUNTIF関数とは
COUNTIF(カウント・イフ)関数は、指定した条件に一致するセルの個数を数えてくれる関数です。
本記事冒頭でも少し触れましたが、指定した範囲のセルの個数を数える関数はたくさんあります。条件に合ったデータの個数を数えたいといったケースはとても多く、それらカウント関連の関数を使い分けてカウントすることもできますが、より細かい条件を指定したい場合に対応できないこともあります。
そんなときに使うのが、このCOUNTIF関数です。
COUNTIF関数は、「COUNT」と「IF」という名前のとおり、指定した検索条件に一致するセルの個数をカウントしてくれます。
他のカウント関連の関数との大きな違いは、検索条件を自身で指定できるという点です。
例えば、
- テストの点数が平均点以上の生徒を数えたい
- 売上目標を達成した商品を数えたい
- 今月の経費のうち交通費科目の数を数えたい
そうした条件を指定して、該当するセルの個数を数えることができます。
スプレッドシートのCOUNTIF関数の使い方
COUNTIF関数では、第1引数で対象範囲を指定し、第2引数で検索条件を指定します。
=COUNTIF(対象範囲, 検索条件)
対象範囲 – 条件の検証対象となる範囲を指定
検索条件 – 対象範囲からセルを検索する条件を指定
検索条件には、数値、文字列(テキスト)、日付、論理式、セル参照を指定できます。
まずは簡単な例をひとつ示します。
=COUNTIF(A1:A10, “>=70”)
上記では、A1からA10までを対象に数値が70以上となっているセルの個数を取得します。
検索条件には数値だけでなく、日付や文字列を指定することもできます。
=COUNTIF(A1:A10, “交通費”)
この例では、A1からA10までを対象に「交通費」という文字列となっているセルの個数を取得します。
検索条件として「文字列」や「数式」を指定する場合はダブルクォーテーション(“)で囲む必要がある点に注意してください。
別シートの数値を使用する
COUNTIF関数の引数である「対象範囲」「検索条件」ともに別シートの値を使用することもできます。
その場合は、セル番地の前に’シート名’! と記述します。
=COUNTIF(‘シート名’!A1:A10, “交通費”)
シングルクォーテーションでシート名を囲み、その後にエクスクラメーションマーク(ビックリマーク)を記述するわけですが、これだと少し面倒です。
もうひとつの方法として、数式入力途中にシートを切り替えて、対象とするセルの範囲をドラッグすれば、セルの範囲とともにシート名も自動的に入力されます。こちらの指定方法の方が便利ですので、ぜひ覚えておきましょう。
条件が1つの場合
ここまでで既に例を出していますが、COUNTIF関数では検索条件を1つ指定できます。
検索条件には数値、文字列以外にも「〇月〇日以後」や「今日以前」といったように日付を使った比較を行うこともできます。
ここでは、COUNTIF関数を使った日付による条件を指定した例を示します。
=COUNTIF(A1:A10, “>=2022/8/4”)
2022年8月4日以後の日付をカウントしています。
また、今日以前という条件でカウントしたいのなら
=COUNTIF(A1:A10, “<=” & TODAY())
と記述すれば可能です。
複数の条件を使用する
ここまではカウント対象とする検索条件はひとつだけでした。
それだけで問題ないケースも多いですが、複数の条件を使用したいといったケースもでてきます。
結論から言いますと、COUNTIF関数では複数条件を使用することはできません。
プログラミングをかじったことがある方なら以下のように記述すればできるのではないかと思うかもしれません。
=COUNTIF(A1:A10, “交通費” OR “宿泊費”))
一見、正しく見えるかもしれませんが、これはエラーとなります。数式の解析エラー(Formula parse error)となり、数式が不正であると怒られます。
やりたいことは、A1からA10までを対象に「交通費」または「宿泊費」という文字列になっているセルの個数を取得することです。
Excelに詳しい方はもしかしたら「OR演算は「+」やOR関数で行うのでは?」と思った方もいらっしゃるかもしれません。
=COUNTIF(A1:A10, “交通費” + “宿泊費”))
=COUNTIF(A1:A10, OR(A1=”交通費”, A1=”宿泊費”))
今度はエラーとはなりませんが、これも期待した結果にはなりません。OR関数は「または」を表し、条件に該当すれば「TRUE」、該当しなければ「FALSE」という文字列を返します。
つまり、例えばA1セルが「交通費」だったとしても、検索条件には「TRUE」という文字列が指定されてしまい、「TRUE」という文字列となっているセルの個数を取得するという操作になってしまいます。
では、COUNTIF関数では複数条件でのカウントは全くできないのかと言えば、そんなことはありません。少し強引ですが、以下のように記述すれば、やりたいことは実現できます。
=COUNTIF(A1:A10, “交通費”) + COUNTIF(A1:A10, “宿泊費”)
「交通費」の件数と「宿泊費」の件数を合計することで、OR条件と同じ結果となるということです。
ただやはりCOUNTIF関数では、条件はひとつしか指定できないというルールがあるため、あまり良い方法とは言えません。
ここまでかなりひっぱりましたが、Googleスプレッドシートには複数の条件を指定できる「COUNTIFS関数」というものが存在します。
ですので、複数の条件を使用する場合はそのCOUNTIFS関数を用いた方が良いでしょう。
スプレッドシートでCOUNTIFを使用する方法まとめ
今回ご紹介したCOUNTIF関数は、条件に該当するセルの個数を導き出すことができるとても便利な関数です。
Googleスプレッドシートのような表計算ソフトではデータ分析業務などの用途で使うことも多いでしょう。そうした用途では、COUNTIF関数は必ずと言っていいほど使うことになる関数です。
もちろんそれだけでなく、機械的なチェックなど、用途は様々で、使えるようになると業務効率が上がること間違いありません。
単純にセルの数を数えるCOUNT関数やCOUNTA関数などのカウント関連の他の関数との違いを理解し、上手く使い分けられるようこの機会におさらいしてマスターしていただければ幸いです。
コメント