ホーム / 関数 / Excel COUNTIF 関数の使い方
統計 Excel + Google スプレッドシート

Excel COUNTIF 関数の使い方

COUNTIF(カウントイフ)は、条件に合うセルの個数を数える Excel(エクセル)の関数です。重複した注文番号、合格者の人数、「発送済み」の件数などを1つの数式で数えられます。条件が2つ以上のときは COUNTIFS を使います。構文と条件の書き方、複数条件のカウント、文字列が入ったセルの数え方を、例題と練習問題で身につけましょう。

COUNTIF 関数の構文と2つの引数

=COUNTIF(範囲, 検索条件)

COUNTIF は、範囲のセルを1つずつ調べて、検索条件に合うセルの個数を数えます。数えるだけで、合計はしません。条件は1つで、結果は1つの数です。

1 範囲(range)
必須

数える対象のセル範囲です(状態の列 B2:B6、注文番号 A2:A11 など)。COUNTIF はこの範囲のセルを1つずつ調べます。

2 検索条件(criteria)
必須

数えるセルの条件です。文字列はダブルクォーテーションで囲み("発送済み")、数値は囲みません(60)。比較演算子は全体を文字列にします(">=60")。セルとは & でつなげます(">="&E1)。ワイルドカード("*りんご*" や "*")も使えます。

COUNTIF の基本例題:発送済みの注文数を数える

B 列が注文の状態です。この COUNTIF の基本例題では、状態が「発送済み」の行だけを数えます。範囲が1つ、条件が1つです。

注文状態
ORD-1発送済み
ORD-2保留
ORD-3発送済み
ORD-4キャンセル
ORD-5発送済み
=COUNTIF(B2:B6, "発送済み")

COUNTIF は B2:B6 から「発送済み」のセルを数え、3 を返します。条件が2つになったら COUNTIFS に切り替えます。単語ではなく、文字列が入ったセルの数を数えたいときは =COUNTIF(A2:A6, "*") と書きます。* は文字列だけに一致し、数値と空白のセルは数えません。

COUNTIF と COUNTIFS:複数条件で数える方法

COUNTIF が指定できるのは「範囲と条件」の1組だけです。COUNTIFS は、この組を必要な数だけ並べられ、すべての組に当てはまる行だけが数えられます。COUNTIFS には合計範囲がないので、SUMIFS のように最初に数値の列を書かないでください。

地域状態
東京発送済み
大阪発送済み
東京保留
東京発送済み
=COUNTIFS(A2:A5, "東京", B2:B5, "発送済み")

4行のうち、「東京」かつ「発送済み」の行は2行です。COUNTIF(B2:B5, "発送済み") だけだと、大阪の行も数えるので 3 になります。条件が複数あるときは COUNTIFS、1つなら COUNTIF を使います。

文字列が入ったセルを数える方法

COUNT は数値しか数えず、COUNTA は空白以外のすべてを数えます。文字列のセルだけを数えるには、条件にワイルドカードの "*" を指定します。* は任意の文字列に一致し、数値と本当の空白のセルは数えません。

セル値
A2りんご
A312
A4—
A5バナナケーキ
A64
=COUNTIF(A2:A6, "*")

結果は 2 で、「りんご」と「バナナケーキ」です。12 と 4 は数値、A4 は空白なので数えません。1文字以上入っていることを条件にするなら "?*"、特定の語を含むセルなら "*ケーキ*" と書きます(ここでは 1 になります)。英字の大文字と小文字は区別されません。数式が返した空の文字列("")は、ISTEXT では文字列ですが、COUNTIF の "*" では数えられません。

Excel のカウント関数の違い(COUNT・COUNTA・COUNTBLANK・COUNTIF)

Excel でセルの個数を数える関数はいくつかあります。何を数えたいかで、次のように使い分けます。

関数数えるもの数式の例
COUNT数値が入ったセル=COUNT(B2:B9)
COUNTA空白ではないセル(文字列も数値も)=COUNTA(A2:A9)
COUNTBLANK空白のセル=COUNTBLANK(A2:A9)
COUNTIF条件に合うセル(条件1つ)=COUNTIF(B2:B9, ">=60")
COUNTIFSすべての条件に合う行(条件2つ以上)=COUNTIFS(A2:A9, "東京", B2:B9, ">=60")

「文字が入っているセルの数」を数えるときは、COUNT ではなく COUNTA か、COUNTIF の条件 "*" を使います。COUNT は数値しか数えません。

COUNTIF の条件の書き方(以上・以外・空白・ワイルドカード)

検索条件には、文字列・数値・比較演算子・ワイルドカードを指定できます。文字列と比較演算子は、ダブルクォーテーションで囲みます。

数えたいセル条件の書き方メモ
ちょうど 60 のセル60数値は囲まない
60 以上のセル">=60"比較演算子も " で囲む
「保留」以外のセル"<>保留"<> は「等しくない」
「東京」を含むセル"*東京*"* は任意の文字列
ちょうど3文字のセル"???"? は任意の1文字
空白のセル""COUNTBLANK でも数えられる
E1 のしきい値以上のセル">="&E1演算子とセルを & でつなぐ

ワイルドカードの * と ? は半角で入力します。全角の「*」は、ただの文字として扱われます。英字の大文字と小文字は区別されません。

COUNTIFS で範囲指定・OR 条件を数える(複数条件の応用)

COUNTIFS に並べた条件は AND 条件で、すべてに当てはまる行だけが数えられます。「60 以上 80 未満」のような範囲指定は、同じ範囲に条件を2つ書きます。

点数が 60 以上 80 未満の人数を数える

=COUNTIFS(B2:B9, ">=60", B2:B9, "<80")

「東京または大阪」のような OR 条件は、COUNTIF を足し算するか、配列定数と SUM を組み合わせます。

地域が「東京」または「大阪」の件数を数える

=SUM(COUNTIF(A2:A9, {"東京", "大阪"}))

条件に合うセルを数えるのではなく、金額を合計したいときは SUMIF と SUMIFS を使います。SUMIFS は、合計範囲が最初の引数です。COUNTIFS には合計範囲がなく、最初の引数が条件の範囲になります。

COUNTIF で重複を数える・見つける

同じ値が何回出てくるかは、範囲を固定した COUNTIF で数えられます。作業列に次の数式を入れて下にコピーすると、2 以上の行が重複です。

A2 の値が A2:A11 に何回あるかを数える(B2 に入れて下にコピー)

=COUNTIF($A$2:$A$11, A2)

同じ式を =COUNTIF($A$2:$A$11, A2)>1 の形にして、条件付き書式の「数式を使用して、書式設定するセルを決定」に入れると、重複したセルだけに色を付けられます。この考え方は、下の練習問題「重複して登録された注文を見つける」と同じです。

COUNTIF でつまずきやすい4つの落とし穴

1. 検索条件のダブルクォーテーション

文字列の条件は "発送済み" のように囲みます。数値だけの条件(60)は囲みません。比較演算子は全体が1つの文字列で、">=60" と書きます。>=60 をそのまま書くと構文エラーです。しきい値がセルにあるなら ">="&E1 のようにつなぎます。

2. COUNTIFS を SUMIFS の書き方で書いてしまう

SUMIFS の最初の引数は合計範囲ですが、COUNTIFS にはその引数がなく、最初に書くのは1つ目の条件の範囲です。数値の列を余計に入れると、組がずれて、結果が 0 や #VALUE! になります。

3. ワイルドカードと大文字・小文字

COUNTIF は大文字と小文字を区別しません(shipped と Shipped は同じ)。"東京*" は「東京」で始まるセルすべてに一致します(東京都、東京支店など)。完全に等しいセルだけを数えたいときは、* を付けません。ワイルドカードは半角で入力します。

4. 結果が 0 になるときの原因

条件の前後に見えないスペースがある(TRIM で除去)、数値が文字列として入っている、数値の列に "*" を使っている、などが原因です。COUNTIF は一致するセルがなくてもエラーにならず、0 を返します。

Excel と Google スプレッドシートの違い

Microsoft Excel (365 / Desktop)

Excel の COUNTIF・COUNTIFS は、別のシートも参照できます:=COUNTIF(Sheet2!B:B, "発送済み")。COUNTIFS は Excel 2007 以降で使えます。列全体の指定は便利ですが、データが多い表では、範囲を絞った指定より遅くなります。

Google スプレッドシート

Google スプレッドシートでも、書式とワイルドカードの規則は同じです。COUNTIFS も AND 条件です。グループごとの件数が必要なら QUERY 関数も使えますが、条件が1つの件数は COUNTIF が基本です。

このページの COUNTIF 練習問題

COUNTIF を練習しよう:重複した注文番号を数える

下のロックされたシートに数式を入力して、この注文番号が何回出てくるかを数えてみましょう。合格人数の問題は、同じ関数で比較演算子を使う練習です。

練習問題のページを開く
問題文
ヒント 0/4
模範解答 2
–
テストケース
1
2
3
リセット
提出
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
インタラクティブなスプレッドシートを読み込み中...
セルと数式の計算エンジンを準備しています
○ 準備完了 ハイライトされたセルに数式を入力し、「提出」を押してください。

COUNTIF の練習問題

重複した注文番号は文字列の完全一致、合格人数は比較演算子を条件に含める練習です。

よくある質問

COUNTIF とは何ですか?

COUNTIF(カウントイフ)は、条件に合うセルの個数を数える Excel(エクセル)の関数です。書式は =COUNTIF(範囲, 検索条件) で、「状態が発送済みの行の数」「60 点以上の人数」といった集計に使います。

COUNTIF の使い方を教えてください。

=COUNTIF(B2:B6, "発送済み") のように、数えるセルの範囲(B2:B6)と、条件("発送済み")を指定します。文字列や、">=60" のような比較演算子は、ダブルクォーテーションで囲みます。数値だけの条件(60 など)は囲みません。

COUNTIF で複数条件を指定するにはどうしますか?

COUNTIFS 関数を使います。=COUNTIFS(A2:A5, "東京", B2:B5, "発送済み") のように、「範囲, 条件」の組を必要な数だけ並べます。すべての条件に当てはまる行だけが数えられます。「または」の条件は、COUNTIF を足し算するか、=SUM(COUNTIF(A2:A5, {"東京", "大阪"})) と書きます。

COUNTIF と COUNTIFS の違いは何ですか?

COUNTIF は条件を1つしか指定できませんが、COUNTIFS は2つ以上指定できます。SUMIFS と違って COUNTIFS には合計範囲がなく、すべての引数が「範囲, 条件」の組になります。

文字が入っているセルの数を数えるにはどうしますか?

=COUNTIF(A2:A10, "*") と書きます。* は任意の文字列に一致するので、文字列のセルだけが数えられ、数値と空白のセルは数えられません。1文字以上入っていることを条件にするなら "?*"、特定の語を含むセルなら "*りんご*" のように書きます。空白以外のセルすべてを数えるなら COUNTA を使います。

COUNTIF で重複を数えるにはどうしますか?

作業列に =COUNTIF($A$2:$A$11, A2) を入れて下にコピーすると、その行の値が何回出てくるかが分かります。2 以上が重複です。=COUNTIF($A$2:$A$11, A2)>1 を条件付き書式の数式に使えば、重複したセルに色を付けられます。

COUNTIF の結果が 0 になるのはなぜですか?

条件の文字列にダブルクォーテーションがない、数値が文字列として入っている、条件の前後に余分なスペースがある(TRIM 関数で除去できます)、ワイルドカードが全角になっている、のどれかであることが多いです。COUNTIF は一致するセルがなくてもエラーにならず、0 を返します。

Google スプレッドシートでも COUNTIF は使えますか?

使えます。書式と条件の書き方は Excel と同じです。COUNTIFS も同じように使えます。