COUNTIF関数の練習問題(全5問)

色のついたセルに数式を入力して Enter。範囲はドラッグでも選べます

0 / 5 問クリア
Q1

「合格」の人数を数える

B7 に、結果が「合格」の人数を数えてください。

解説を見る

COUNTIF は範囲を1つずつ見て、条件に合ったものだけを数えます。「不合格」は「合格」と等しくないので数えません。文字の一致は完全一致で、部分一致にしたいときはワイルドカードを使います。

模範解答: =COUNTIF(B2:B5,"合格")

COUNTIF関数は、指定した範囲の中から条件に合うセルの個数だけを数える関数です。

書き方
=COUNTIF(範囲, 条件)
=COUNTIF(B2:B6,">=60")

COUNTIF関数とは

COUNTIF(カウントイフ)関数は、条件に合うセルだけを数える関数です。

COUNT・COUNTA・COUNTBLANK は範囲の中を無条件に数えました。COUNTIF はそこに「ただし〇〇のものだけ」という絞り込みが付きます。

合格者は何人か、60点以上は何人か、営業部は何人か。表を作ったあとに必ず聞かれる「で、何件?」に答えるのがこの関数です。

2つの引数

=COUNTIF(範囲, 条件)
位置 意味
1つめ 数える対象の範囲
2つめ 数える条件

条件は「1つの値」として渡す

条件の書き方が何通りもあるように見えて、ここでつまずきます。しかしやっていることは1つで、条件という名前の値をひとつ渡しているだけです。

書きたいこと 書き方 渡している値
60 と等しい =COUNTIF(B2:B6,60) 数値の 60
60 以上 =COUNTIF(B2:B6,">=60") 文字列>=60
「合格」と等しい =COUNTIF(B2:B6,"合格") 文字列の 合格

>= のような記号を式にそのまま書くことはできません。そこで記号を含む条件は文字列にして渡し、COUNTIF が受け取ったあとで先頭の記号を読んで解釈します。

この仕組みが分かると、次のつまずきの理由も見えてきます。

つまずきポイント1: セルを条件にするときは & でつなぐ

「B8 に入れた基準点以上の人数を数えたい」という場面はよくあります。ここで多くの人が次のように書きます。

=COUNTIF(B2:B6,">=B8")     ← 間違い

これは動きますが、答えが合いません。条件として渡っているのは >=B8 という文字列であり、Excel は「B8 という文字より大きいもの」を探してしまいます。セルを見に行ってくれません。

正しくは、記号とセルの値をつないで1つの文字列を作ります

=COUNTIF(B2:B6,">="&B8)    ← 正しい

& は左右の値をつなぐ記号です。B8 が 60 なら、つないだ結果は >=60 という文字列になり、直接書いたときと同じものが渡ります。

記号は " の中、セルは " の外。 これを境目として覚えると迷いません。

なお、条件が記号を含まない場合は & は不要です。「B8 と等しいものを数える」なら =COUNTIF(A2:A6,B8) とセルをそのまま書けます。

つまずきポイント2: 数値の条件に文字は数えられない

点数の列に「欠席」「未提出」といった文字が混ざることがあります。このとき ">=60" で数えると、文字のセルは数に入りません

80 / 55 / 60 / 92 / 欠席
=COUNTIF(B2:B6,">=60")    → 3

Excel は大小を比べるとき、数値と文字を別の種類として扱い、そもそも比べようとしないためです。「欠席」が 60 より大きいか小さいかは判定されず、対象から外れます。

これは多くの場合ありがたい動きです。しかし「全員分を数えたつもりが、実は欠席者が抜けていた」という取りこぼしにはなります。人数が合わないときは、COUNTA との差を見ると原因が分かります。

=COUNTA(B2:B6)-COUNT(B2:B6)   → 数値でないセルの個数

ワイルドカード — 部分一致で数える

*? を使うと、一部だけ一致するものを数えられます。

記号 意味
* 0文字以上の任意の文字 "田*" → 田中、田村、田
? ちょうど1文字 "田?" → 田中、田村(田口も)。「田」1文字は含まない
=COUNTIF(A2:A6,"田*")     「田」で始まる名前を数える
=COUNTIF(A2:A6,"*中")     「中」で終わる名前を数える
=COUNTIF(A2:A6,"*田*")    「田」を含む名前を数える

*文字を対象にした記号です。数値の列に使っても意図した結果になりません。

大文字と小文字は区別しない

"apple" と書いても "APPLE" と書いても、両方が数えられます。区別して数えたい場合、COUNTIF では対応できません。

COUNTIFS — 条件を複数にする

条件を2つ以上にしたいときは COUNTIFS を使います。名前の最後に S が付くだけで、考え方は同じです。

=COUNTIFS(範囲1, 条件1, 範囲2, 条件2, ...)

引数は範囲と条件をセットで並べます。順番を間違えやすいので、必ず2つ1組で読んでください。

=COUNTIFS(B2:B6,"営業",C2:C6,">=60")

これは「部署が営業かつ点数が60以上」の人数です。すべての条件を満たす行だけが数えられます。

範囲の大きさはそろえてください。 1つめが5行なら2つめも5行です。ずれていると正しく数えられません。

なお、条件が1つでも COUNTIFS は使えます。書き方を1つに統一したい場合は、最初から COUNTIFS だけ覚えるのも手です。

関連する関数

関数 用途
COUNT / COUNTA 条件なしで数える。COUNTIF の出発点
COUNTIFS 条件を複数にする
SUMIF / SUMIFS 条件に合うものを合計する。引数の並びは COUNTIF と少し違う
IF 1つのセルについて条件で表示を変える

次に進むには

条件に合うものを「数える」ことができたら、次は条件に合うものを合計する SUMIF に進むと、売上表や集計表がぐっと扱いやすくなります。考え方は同じで、引数の並びだけが違います。