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