関数 EXCEL&VBA

カウントイフ(COUNTIF)関数の使い方

エクセルで "カウントイフ" と言えば、検索条件に一致するセルをカウントしてくれる COUNTIF関数 が思い浮かびます。

今回は COUNTIF関数の「基本的な使い方」と、セルの値が完全一致ではなく「~を含む」で条件指定したり、検索条件が複数 ( AND )、または ( OR ) 、~以上、~以下、といった「複数条件」;
(例:男性 かつ 18歳以上かつ30歳未満)
で指定したりするにはどうすればよいか解説します。



COUNTIF関数(カウントイフ関数)

COUNTIF関数とは、指定されたセル範囲のうち、検索条件に一致するデータの個数をカウントしてくれる便利な関数で;

COUNTIF範囲, 検索条件

こんな感じで表されます。

シンプルな例として、下の 出欠表で B列のセルの値が「出席」の人だけをカウントする場合に使います。

セルD2に入る数式は;

COUNTIF ( B2:B6, "出席" )

となります。
検索条件「出席」は文字列なので、ダブルクォーテーションで挟むのを忘れずに。


キーワードを「含む」セルをカウントする

では、セルの中に任意の値を「含む」場合の カウントはどううればよいでしょうか?
サンプルとして使用するのは下のようなアンケート一覧表です。

B列のコメント一覧から COUNTIF関数 を使って『接客』というキーワードを 含む データ件数をカウントして、セルD5に表示させます。


▲検索ワード「接客」を含む件数をカウントできるのか?

セルD5にふつうに カウントイフの数式を当てはめると;

= COUNTIF( B2:B11, D2

となるのですが、セルD5に表示された数字は「0」でした。(=失敗)


▲失敗例 数式が不十分で検索できていない

上の失敗例は、セルの値が『接客』と 完全一致 の場合しかカウントせず、今回のような「『接客を含む」には対応しません。

あいまい検索

完全一致ではなく「含む」「始まる」「終わる」という検索を「あいまい検索」と言ったり「キーワード検索」と言ったりします。

こんな時に便利なのが「ワイルドカード」です。
「ワイルドカード」を使って「○○を含む」という、あいまい検索を可能にします。

ワイルドカードを使う

ワイルドカードとは、検索の際に指定するパターンに使用する特殊文字の種類で、どんな対象文字、ないし文字列にもマッチするもののことである。
カードゲームのワイルドカードに由来する呼称。
出典:ウィキペディア

Pointワイルドカードには、任意の文字列の代用の「*」と任意の1文字の代用「」とがあります。

*0文字以上の任意の文字列を表します。
例)*田:田で終わる文字列 / 田*:田で始まる文字列 / **:田を含む文字列

任意の一文字を表します。
例)田:田で終わる2文字 / ??田:田で終わる3文字 / :田が真ん中に入る3文字

ワイルドカードを使った カウントイフ

では、セルD5に入力した数式に ワイルドカードを使って「セルD2の値(接客)を含むセル」をカウントしてみましょう。

数式は、ワイルドカードが入るとこうなります;

= COUNTIF( B2:B11, "*" & D2 & "*"

重要なのは赤字で記した「"*"&」や「&"*"」です。
これによって、「セルD2の値(接客)の 前後の文字はなんでもよい」となります。

すると検索が正しく機能し、セルD5には「3」という数字が返ってきました。


▲No.2と No.5、No.10 の3つが「接客」を含んでいる

カウントイフで複数条件の集計はできるの?

できます。
ただ、複数条件といっても AND なのか OR なのかで方法は違ってきます。

AND条件でデータをカウントする場合と、OR条件でデータをカウントする場合、それぞれに解説していきます。

AND条件のカウントイフ

複数条件「かつ」でカウント

複数条件「かつ(=AND)」を処理するという点で言うと、メジャーな COUNTIF関数 は条件をひとつしか指定できません。

複数条件を満たすデータの数を集計するためには COUNTIFS関数 を使います。

COUNTIFS関数

COUNTIFS関数 とは、特定の(複数)条件に一致するセルの個数を返す関数で、書式は;

=COUNTIFS (検索範囲1, 条件1, [検索範囲2], [条件2], ...)

のように表されます。

サンプルとして下のような表を用意しました。

上で例として挙げた「男性 かつ 25歳以上 かつ 35歳未満」の場合、条件は3つなので [検索範囲] と [条件] をそれぞれ3つ設定します。

セルE6に入る数式は;

=COUNTIFS (B2:B11, E3, C2:C11, ">="&F3, C2:C11, "<"&G3)

となります。

▲3つの条件を満たすデータがカウントされた

複数条件「以上」「未満」の設定方法

「25歳以上、35歳未満」のような「以上」「未満」といった条件の設定方法を補足します。

COUNTIF関数COUNTIFS関数 で扱う場合は、不等号や等号をダブルクォーテーション(")で挟みます

上のセルE6の数式でいうと;

=COUNTIFS (B2:B11, E3, C2:C11, ">="&F3, C2:C11, "<"&G3)

赤字部分がそれに相当します。

不等号の右には、不等号と条件が入ったセル位置とを「&」でつなぐ のを忘れないように。

OR条件でデータをカウントする

複数条件「または」でカウント

複数条件「または(=OR)」を処理する場合は、元祖 COUNTIF関数 を使います。

今度は、下のような表をサンプルとして用意しました。

顧客の都道府県情報が「東京都」または「神奈川県」のデータをカウントします。

セルD5に入る数式の正解としては;

=COUNTIF (B2:B11, D2) + COUNTIF (B2:B11, E2)

この数式は、単純に COUNTIF関数の 2種類の答えを足し算したものです。

以上で、COUNTIF関数 や COUNTIFS関数 を使った複数条件を満たす「カウントイフ」についての解説は終了です。
他の関連記事とあわせて仕事や趣味に役立ててください。

関連記事・広告






-関数, EXCEL&VBA
-,