COUNTIF関数を使って条件に合うセル数を数えたいと思ったことはありませんか。データの集計や分析で「特定の値がいくつあるか」を把握したい場面は多くあります。この記事ではCOUNTIF関数の基本的な使い方から、複数条件を扱うためのコツまでを詳しく解説します。
COUNTIFは1つの条件でセルをカウントする関数です。しかし実際の業務では「AかつB」のような複数条件でカウントしたいことも多いでしょう。本記事を読めば、COUNTIFの基本構文、ワイルドカードの活用、COUNTIFSとの違い、複数条件を実現するテクニックを理解できます。
【要点】COUNTIFで条件に合うセル数を数える
- =COUNTIF(範囲, 条件) の基本構文: 単一条件でセルをカウントする最もシンプルな方法です。条件は数値、文字列、セル参照、ワイルドカードで指定できます。
- ワイルドカード(* ?)を使った部分一致: 「*」で任意の文字列、「?」で任意の1文字を表し、「○○で始まる」などの条件を記述できます。
- 複数条件はCOUNTIFS関数か加算で対応: AND条件にはCOUNTIFS、OR条件には複数のCOUNTIFを足し算する方法を使います。
ADVERTISEMENT
目次
COUNTIF関数の概要とできること
COUNTIF関数は、指定した範囲の中で、条件に一致するセルの個数を返す関数です。条件は数値や文字列、論理式などで指定できます。たとえば「売上額が100万円以上の商品の数」「東京支店のデータ件数」などを簡単に集計できます。
この関数の最大の特徴は、条件を柔軟に指定できる点です。数値の比較(以上、以下)、文字列の完全一致・部分一致(ワイルドカード)、他のセルを参照した条件など、さまざまな使い方が可能です。また、COUNTIFは単一条件専用ですが、複数条件を扱いたい場合はCOUNTIFS関数を使用するか、複数のCOUNTIFを組み合わせることで対応できます。
COUNTIFの基本的な使い方
ここからは、実際にCOUNTIF関数を使う手順を説明します。基本的な構文と具体例を確認しましょう。
単一条件でカウントする基本構文
- カウントしたい範囲と条件を指定する
セルに「=COUNTIF(範囲, 条件)」と入力します。範囲はカウント対象のセル範囲、条件は「”完成”」のような文字列や「100」のような数値、または「”<"&A1」のような比較演算子付きの条件です。 - 条件にセル参照を使う場合
条件を直接書く代わりに、別のセルの値を条件として使えます。たとえば「=COUNTIF(A2:A100, B1)」とすれば、B1セルの値と一致するセルをカウントします。 - Enterキーで結果を確定する
数式を入力したらEnterキーを押して結果を表示します。条件に合うセル数が表示されます。
具体的な使用例
次のようなデータがあるとします。A列に商品名、B列に売上額が入力されています。「リンゴ」の売上件数を数えるには「=COUNTIF(A2:A10, “リンゴ”)」と入力します。売上額が100万円以上の件数を数えるには「=COUNTIF(B2:B10, “>=100”)」と条件を文字列で指定します。数値の比較演算子を使う場合は、条件全体をダブルクォーテーションで囲む必要があります。
ワイルドカードを使った部分一致のコツ
COUNTIFでは、ワイルドカードを使用して部分一致の条件を指定できます。アスタリスク(*)は任意の文字列、クエスチョン(?)は任意の1文字を表します。たとえば「=COUNTIF(A2:A10, “*りんご*”)」とすれば、「青りんご」や「りんごジャム」など「りんご」を含むすべてのセルをカウントします。
また、「=COUNTIF(A2:A10, “???”)」とすれば、3文字の文字列をカウントします。ワイルドカードは文字列の条件にのみ使用できる点に注意しましょう。数値条件では使えません。
ADVERTISEMENT
複数条件を扱う方法
1つのCOUNTIFでは複数条件を直接指定できません。そこで、複数条件を実現する代表的な方法を2つ紹介します。
方法1:COUNTIFS関数を使う(AND条件)
COUNTIFS関数は、複数の範囲に対して複数の条件を指定し、すべての条件を満たすセルをカウントします(AND条件)。構文は「=COUNTIFS(範囲1, 条件1, 範囲2, 条件2, …)」です。たとえば、A列が「リンゴ」かつB列が「100以上」のセルをカウントするには「=COUNTIFS(A2:A10, “リンゴ”, B2:B10, “>=100”)」とします。
- 条件を組として順番に指定する
最初の条件ペアの後に、次の範囲と条件を続けて入力します。すべての条件を満たすセルのみがカウントされます。 - 最大127組の条件を指定可能
COUNTIFSは127の条件ペアまで対応しています。ただし、すべての範囲のサイズ(行数・列数)が同じである必要があります。
方法2:複数のCOUNTIFを加算する(OR条件)
OR条件(いずれかの条件を満たす)をカウントしたい場合は、複数のCOUNTIF関数の結果を足し算します。たとえば、「A列が”リンゴ”または”みかん”」のセルをカウントするには「=COUNTIF(A2:A10, “リンゴ”) + COUNTIF(A2:A10, “みかん”)」とします。ただし、両方の条件に該当するセルがあれば重複してカウントされるため、注意が必要です。
重複を避けたい場合は、COUNTIFSを使ってOR条件を表現する別の方法もあります。たとえば「=COUNTIF(A2:A10, “リンゴ”) + COUNTIF(A2:A10, “みかん”) – COUNTIFS(A2:A10, “リンゴ”, A2:A10, “みかん”)」のように減算しますが、A列の同じセルに「リンゴ」と「みかん」が同時に入ることはないため、通常は加算のみで問題ありません。
COUNTIF使用時の注意点とよくあるエラー
COUNTIF関数を使う際によく発生する問題とその対処法を説明します。
条件に空白セルを指定したい場合
空白セルをカウントするには、条件に空文字列「””」を指定します。たとえば「=COUNTIF(A2:A10, “”)」とします。一方、空白でないセルをカウントするには「=COUNTIF(A2:A10, “<>“)」と不等号を使います。
大文字と小文字は区別されない
COUNTIFはデフォルトで大文字と小文字を区別しません。「Apple」と「apple」は同じものとして扱われます。もし大文字小文字を区別したい場合は、ARRAYFORMULAとEXACT関数を組み合わせるなど別の方法が必要です。
条件にセル参照を使うときの注意
条件にセル参照を使う場合は、参照がテキストか数値かを意識します。数値の比較演算子を使うときは、演算子とセル参照を文字列連結演算子「&」でつなぎます。たとえば「=COUNTIF(B2:B10, “>=”&C1)」とします。
エラー値が含まれていると正しくカウントされない
範囲内にエラー値(#N/Aなど)がある場合、COUNTIFはそのセルを無視するか、条件によってはエラーになることがあります。エラー値を除外したい場合はIFERROR関数で処理するか、エラー値を含まない範囲を指定します。
COUNTIFとCOUNTIFSの違い
| 関数 | 条件の数 | 複数条件の関係 | 構文 |
|---|---|---|---|
| COUNTIF | 1つだけ | 単一 | =COUNTIF(範囲, 条件) |
| COUNTIFS | 最大127個 | すべてAND(すべて満たす) | =COUNTIFS(範囲1, 条件1, 範囲2, 条件2, …) |
COUNTIFは1つの条件しか扱えませんが、OR条件の場合は複数のCOUNTIFを足し算することで対応できます。COUNTIFSはAND条件の場合に便利です。どちらを使うべきかは、求めている条件の組み合わせで判断しましょう。
まとめ
COUNTIF関数を使えば、条件に合うセル数を簡単に数えられます。基本は「=COUNTIF(範囲, 条件)」です。ワイルドカードを使えば部分一致も可能です。複数条件が必要な場合は、AND条件ならCOUNTIFS、OR条件ならCOUNTIFの加算で対応できます。これらのテクニックを覚えて、スプレッドシートでのデータ集計を効率化しましょう。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】複合グラフで棒と折れ線を同時表示!2軸グラフの作り方
- 【Googleスプレッドシート】FILTER関数で条件に合う行だけ抽出!数式1つで動的な絞り込み
- 【Googleスプレッドシート】フィルタ表示で他の人の表示を変えずに絞り込み!共有時の使い分け
- 【Googleスプレッドシート】重複データを抽出して表示!COUNTIFと条件付き書式の併用
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】ARRAYFORMULAで列全体に数式を一括適用!セル分の入力を不要に
- 【Googleスプレッドシート】データ範囲を動的に伸縮させる!INDIRECTと参照範囲のコツ
- 【Googleスプレッドシート】共有解除と権限の取り消し!アクセスを完全に閉じる手順
