COUNTIF関数の使い方【単一の条件でカウントする方法】

COUNTIFとは?

COUNTIFは、ある範囲の中から条件に一致したものが何個あるか?を数える関数です。
例えば、30日間の昼食メニューのデータの中から、ハンバーグが含まれるメニューは何日あったか?のように条件を指定して数える指示をエクセル/スプレッドシート上でだしていきます。
今回はCOUNTIF関数の基本からちょっとした応用までを解説していきます。

基本の使い方

引数の指定方法

COUNTIF関数では、「範囲」と「検索条件」の2つを指定することで該当するデータ数を出力してくれます。
論より証拠、ということで試しにサンプルで解説していきたいと思います。

問題:家計簿内で、先月はコンビニで何回買い物をしたか?を数えて下さい。データは下記です。

答えは簡単ですよね!「3回」です。
これをCOUNTIF関数で出すとこうなります。

このように関数を入力するとほしかった「3」という答えをだすことができます。

では、使い方を解説していきますね。
まずは、関数の概要から記載します。

=COUNTIF(範囲 , 検索条件)

範囲 検索したい対象範囲を選択します。A1:B3のようにセルの範囲で指定します。

検索条件 検索したい項目を指定します。COUNTIFでは、検索条件は1つのみ選択できます。複数の条件を指定したい場合はCOUNTIFsを使用しましょう。

今回の例題の場合、
=COUNTIF(
とセルに入力していきましょう。
そうしたら、次は範囲と検索条件を入力していきます。

まずは範囲。
範囲は「探したい範囲」を指定していきます。
今回は家計簿のデータすべてを指定したいため、B2セル〜B9セルを指定していきます。記載方法は、「B2:B9」と書きましょう。
例えばデータ数が増えた場合は「B2:B10「B2:B11」と増やしましょう。いちいち増やすのが面倒くさいよという人は、「B:B」と指定してあげることでB列すべてを指定することができます。(今回はわかりやすくB2:B9とします)

範囲を入力のあとは、「,」をつけ、次の条件入力に移ります。

次は検索条件を入力していきます。
検索条件は「探したいもの」です。今回だとコンビニでの回数をカウントしたいため、項目名が「コンビニ」となっているものを指定します。
エクセル/スプレッドシートでは、文字列は「”」(ダブルクオーテーション)で囲うというルールがあるので、「”コンビニ”」と記載しましょう。

そうすると、今回の関数が完成です。
=COUNTIF(B2:B9,”コンビニ”)
とかけていればOKです。
エンターを押して関数を確定させましょう。
3と出ていれば成功です!

ここまでが基本的な使い方になります。
作りながら、
・もし日付で指定したかったら…
・コンビニを含むものを調べたかったら…
等想像してしまった方もいると思います。
そう、COUNTIFは文字列以外でも指定してカウントしていくことができるのです!

ここからはCOUNTIF関数でできる検索条件の種類を解説していきます。

数字での条件指定

まずは、数字での一致を解説していきます。

○○と一致する

数字での完全一致、例えばデータの中で50000円に一致するものはいくつあるのか?を検索したい場合は、下記のようになります。

=COUNTIF(C2:C9,50000)

例題のときは、”文字列”だったのに対して、数字の場合は「”」(ダブルクオーテーション)が必要ありません。そのため50000と入力することで検索されるというわけです。
(正確には今回の例では、=COUNTIF(C2:C9,”50000″)と入力しても1と答えが出てきますが、ここについてはまた後日解説したいと思います。)

○○以上・○○以下

数字については、○○より高い、○○より低い、という指定も行うことができます。例えば、5000円より高い項目はいくつあるのか?といった具合です。
以上以下の指定には、不等号が登場します。(不等号わからないよーといった人は、単なる記号として覚えればOK)
不等号の種類は以下の4種類です。
<○○(○○より小さい)
>○○(○○より大きい)
>=○○(○○以上)
<=○○(○○以下)

「=」(イコール)をつけることで、検索する値が含むようになる、とおぼえておいて下さい。

5000円より高い項目がいくつあるのか?といった関数は下記のようになります。

=COUNTIF(C2:C9,”<“&5000)

ここであれ?と思った人もいるかも知れません。「&」という新しい項目が登場していますよね。こちらは、文字列と数字をくっつけるときに使う記号になります。今回は、「<」は文字列、「5000」は数字なので、性質が異なる2つは「&」でくっつけましょう、というエクセルのルールに則って記載しています。
※難しい…という人は「”<5000″」と指定する方法でも今回は大丈夫です。こんなのがあるんだーくらいに思って下さい。

○○と○○の間

そうすると今度は1000円〜5000円の間のものを数えたい!となるかもしれません、しかし残念ながらCOUNTIFでは”複数での検索条件”には対応していません。
”間”という指定には、○○以上かつ○○以下という2つの検索条件を指定する必要があるからです。
複数の検索条件を使うには、COUNTIFS関数を使用します。
指定方法は似ていますが、別記事で解説したいと思います。
ちなみに今回の例題でいいますと、

=COUNTIFS(C2:C9,”>1000″,C2:C9,”<5000″)

と指定することで1000円〜5000円の間に含まれるデータの個数をだすことができます。

文字列での指定方法

次に文字列での指定を解説していきます。
数値とことなる部分は、「”」(ダブルクオテーション)で検索条件を囲うか否かです。
エクセル/スプレッドシートではダブルクオーテーションで囲うことで「このデータはテキストだよ!」と認識されます。囲わない場合はテキスト以外のデータとして認識されます。
そのため、テキストを探したい場合はダブルクオーテーションで囲って検索条件の指定を行いましょう。

○○と一致する

最初の例題と同じですが、項目がコンビニとなっているものを数えたい場合、
=COUNTIF(B2:B9,”コンビニ”)
と記載しましょう。
数字指定ができていれば基本的には問題ないと思います。

○○を含む

テキスト検索でよく使われる方法は、「あいまい検索」です。
データによっては、同じくコンビニで買ったものでも
コンビニ(食費)
コンビニ(日用品)
コニビニエンスストア
のように似ているけど違う項目が出現してしまうことがあると思います。
こういったケースでも数えられるようにするのがあいまい検索です。

指定方法は下記になります。
=COUNTIF(B2:B11,”*コンビニ*”)

この指定をすることで、コンビニを”含む”データを数える事ができます。
曖昧検索には「*」(ワイルドカード)を利用します。
前後にワイルドカードをつけることで、コンビニを含むという指定をすることができます。
(この検索方法は私もものすごく多用するため覚えておいて損は絶対にないです!)

前に○○を含む・後に○○を含む

ワイルドカードを利用することで、細かいあいまい検索を行うことも可能です。
例えば、
・コンビニ(おにぎり)
は数えたいが、
・海外コンビニ
は除きたいという場合(データのネーミングセンスは置いといて…)

=COUNTIF(B2:B11,”コンビニ*”)

というように指定を行います。
つまり、ワイルドカードを指定した場合は、その方向があいまい検索になる、と覚えていけば良いのです。

逆に
・海外コンビニ
は数えるが、
・コンビニ(おにぎり)
は数えないという場合

=COUNTIF(B2:B11,”*コンビニ”)

となります。
少し応用になりますが、

=COUNTIF(B2:B11,”*コン*ビニ*”)

と入力すれば

「コンソールビニエンス」

というコンとビニの間になにか文字列が入っているへんてこなデータを数えるようにできます。

日付での指定方法

「○日に買ったものが何個あるか知りたい」といった場合どのように入力するかを解説していきます。
日付指定の場合、入力する形式は異なりますが、今までとほとんど一緒です。
日付指定したい場合はエクセル/スプレッドシートが「日付」と認識できる形式で検索条件を入力してあげなければなりません。
例えば、
2020/11/1
のように、年、月、日を「/」(スラッシュ)で区切りながら入力する方法が当てはまります。
入力方法がわかればもうおわかりかと思います。
11月20日に買ったものを数えたい場合は、下記になります。

=COUNTIF(A2:A9,”2020/11/20″)

少し工夫をすると、
11月20日”より前に買った個数”を出したい時は前章の以下の指定を使います。

=COUNTIF(A2:A9,”<2020/11/20″)

といった感じですね。これで11月20日以下、つまり11月20日より前に買った個数を指定することができます。

その他のcount系の関数

”何かを数える”という操作はエクセルはじめデータ処理系においては必須中の必須になります。
最後にCOUNTIF以外にもある便利なCOUNT系の関数を少し紹介したいと思います。

・COUNT(数値の個数をカウントする)
・COUNTA(空白以外のデータの個数をカウントする)
・COUNTBLANK(空白をカウントする)
・COUNTIFS(複数の検索条件でのカウント)
・COUNTUNIQUE(一意の値をカウントする)
・COUNTUNIQUEIFS(一位の値に加えて検索条件を指定してカウントする)

数えるは奥が深い…気になる方は他のCOUNT系の関数も試してみて下さい!
解説も徐々にしていきたいと思います。