COUNTIF 関数 (統計関数の 1 つ) は、1 つの検索条件に一致するセルの個数を返します。たとえば、特定の市が顧客リストに表示される回数を返します。
最も単純な形式では、COUNTIF は次のように指定します。
- = COUNTIF(どこを参照しますか?, 何を探しますか?)
次に例を示します。
- =COUNTIF(A2:A5,"London")
- =COUNTIF(A2:A5,A4)
構文
COUNTIF(範囲, 検索条件)
| 引数名 | 説明 |
|---|---|
| 範囲 (必ず指定します) | 数えるセルのグループ。
範囲 には、数値、配列、名前付き範囲、または数値を含む参照を含めることができます。 空の値とテキスト値は無視されます。 ワークシートで範囲を選択する方法については、こちらを参照してください。 |
| 検索条件 (必ず指定します) | 個数の計算対象となるセルを決定する条件を、数値、式、セル参照、または文字列で指定します。 たとえば、32 のような数値、">32" などの比較、B4 のようなセル、または "apples" のような単語を使用できます。 COUNTIF で指定できるのは、単一の検索条件のみです。 複数の検索条件を指定する場合は、COUNTIFS を使います。 |
Excel での COUNTIF の使用例
以下に挙げた式の例を Excel で試すには、下の表のデータをコピーし、新しいワークシートのセル A1 の位置に貼り付けます。
| データ | データ |
|---|---|
| リンゴ | 32 |
| オレンジ | 54 |
| モモ | 75 |
| リンゴ | 86 |
| 数式 | 説明 |
| =COUNTIF(A2:A5,"リンゴ") | セル範囲 A2 ~ A5 に含まれるセルのうち、"リンゴ" と入力されているセルの個数を求めます。 結果は 2 です。 |
| =COUNTIF(A2:A5,A4) | セル範囲 A2 ~ A5 に含まれるセルのうち、"モモ" (A4 の値) と入力されているセルの個数を求めます。 結果は 1 です。 |
| =COUNTIF(A2:A5,A2)+COUNTIF(A2:A5,A3) | セル範囲 A2 ~ A5 に含まれるセルのうち、"リンゴ" (A2 の値) と "オレンジ" (A3 の値) の数を求めます。 結果は 3 になります。 この数式では COUNTIF を 2 回使用し、複数の基準を指定します。式につき 1 つの基準です。 COUNTIFS 関数を使用することもできます。 |
| =COUNTIF(B2:B5,">55") | セル範囲 B2 ~ B5 に含まれるセルのうち、55 より大きい値が入力されているセルの個数を求めます。 結果は 2 です。 |
| =COUNTIF(B2:B5,"<>"&B4) | セル範囲 B2 ~ B5 に含まれるセルのうち、75 以外の値が入力されているセルの個数を求めます。 アンパサンド (&) では、比較演算子が等しくない (<>) と B4 の値がマージされ、=COUNTIF(B2:B5,"<>75") が読み取られます。 結果は 3 になります。 |
| =COUNTIF(B2:B5,">=32")-COUNTIF(B2:B5,"<=85") | セル B2 から B5 の値が (>) または (=) 32 より大きく (<) 未満または (=) 85 未満のセル数をカウントします。 結果は 1 です。 |
| =COUNTIF(A2:A5,"*") | セル範囲 A2 ~ A5 に含まれるセルのうち、任意のテキストが入力されているセルの個数を求めます。 ワイルドカード文字 (*) は、任意の文字列を表します。 結果は 4 です。 |
| =COUNTIF(A2:A5,"??????ゴ") | セル範囲 A2 ~ A5 に含まれるセルのうち、文字 "ゴ" で終わるちょうど 7 文字が入力されているセルの個数を求めます。 ワイルドカード文字 (?) は、任意の 1 文字を表します。 結果は 2 です。 |
Excel での一般的な COUNTIF エラーのトラブルシューティング
| 問題 | 原因 |
|---|---|
| 長い文字列を照合すると、間違った値が返される。 | COUNTIF 関数を使用して 255 文字より長い文字列を照合すると、間違った結果が返されます。 255 文字より長い文字列を照合するには、CONCATENATE 関数または連結演算子 & を使います。 例: =COUNTIF(A2:A5,"長い文字列"&"別の長い文字列") |
| 値が返されることを想定しているのに、値が返されない。 | criteria 引数は必ず引用符で囲んでください。 |
| COUNTIF 式は、別のワークシートを参照すると #VALUE! 値を受け取ります。 | 関数を含む数式がセルまたは範囲を参照するブックが閉じられているとき、セルが計算されるとこのエラーが発生します。 この機能を利用するには、他のブックを開く必要があります。 |
Excel で COUNTIF を使用するためのベスト プラクティス
| 操作 | 理由 |
|---|---|
| COUNTIF では、テキスト文字列の大文字と小文字が区別されないことに留意する。 | 条件 では大文字と小文字は区別されません。 つまり、検索条件として文字列 "apples" を指定した場合と文字列 "APPLES" を指定した場合の結果は同じです。 |
| ワイルドカード文字を使う。 | ワイルドカード文字 (疑問符 (?) とアスタリスク (*) は、 条件で使用できます。 疑問符は任意の 1 文字に相当します。 アスタリスクは任意の一連の文字列に相当します。 ワイルドカード文字ではなく、通常の文字として疑問符やアスタリスクを検索する場合は、その文字の前にチルダ (~) を付けます。 たとえば、=COUNTIF(A2:A5,"apple?") は、"apple" の後が任意の 1 文字である項目の個数を返します。 |
| データに誤字が含まれていないことを確認する。 | 文字列の数を求めるときは、データの先頭や末尾に余分なスペースがないこと、まっすぐな引用符 (' または ") と丸みを帯びた引用符 (‘ または “) が混在していないこと、印刷されない文字が含まれていないことを確認してください。 このいずれかに該当する場合、想定外の値が返されることがあります。 CLEAN 関数 または TRIM 関数を使用してみてください。 |
| わかりやすいように、名前付き範囲を使用します。 | COUNTIF では、数式内の名前付き範囲 (=COUNTIF(fruit,">=32")-COUNTIF(fruit,">85"など) がサポートされています。 名前付き範囲は、現在のワークシート、同じブックの別のワークシート、別のブックで指定できます。 別のブックから参照するには、その 2 番目のブックも開く必要があります。 |
注
COUNTIF 関数では、セルの背景色やフォントの色に基づくセルのカウントはおこなわれません。 ただし Excel では、背景色やフォントの色に基づいてセルに Microsoft Visual Basic for Applications (VBA) 操作を行うユーザー定義関数 (UDF) がサポートされています。 VBA を使用して、特定のセルの色を持つセルの数をカウントする方法の例を次に示します。
補足説明
Excel Tech Community の専門家にいつでも依頼したり、コミュニティでサポートを受けたりすることができます。