エクセルで数値が記載されているセルの個数や空白セルの個数をカウントしたいというシーンは少なくありませんよね。
このようなシーンではCOUNT関数をはじめ、いくつかの関数を使い分けできると便利です。
そこで本記事では「エクセルでデータ個数をカウントする5種の関数」について解説します。
1.データ個数をカウントする関数の種類
こんにちは。エクセルマン・ブリーダーのしもむぎ(@re_znd13)です。
まずはデータ個数をカウントできる関数の種類について見てみましょう。
エクセルのヘルプで「カウント」と検索すると、COUNT関数をはじめとするカウント系の関数が表示されます。
本記事では以下の5種について解説していきます。
- COUNT関数:数値を含むセルの個数、および引数リストに含まれる数値の個数を数えます
- COUNTA関数:範囲に含まれる空白ではないセルの個数を返します
- COUNTBLANK関数:セル範囲内の空白セルの個数を数えます
- COUNTIF関数:1 つの検索条件に一致するセルの個数を返します
- COUNTIFS関数:複数の範囲のセルに条件を適用して、すべての条件が満たされた回数をカウントします
2.COUNT関数
COUNT関数は、「数値を含むセルの個数、および引数リストに含まれる数値の個数を数えます」とされています。
COUNT関数の構文は以下です。
=COUNT(値1, [値2], ...)
※値1は必須。セル範囲や数値を入力
※値2は省略可。セル範囲や数値を入力
下の画像でCOUNT関数の使用例を説明します。
A1~A20セルには数値や空白、文字列、日時、論理値、エラー値といった様々な形式のデータを入力してあります。
空白は何も入力しないものと、「=””」としたものの2種類を用意しました。
B列は対応するA列のデータの種類を入力してあります。
C1セルでは、A1~A20のセル範囲を指定してCOUNT関数を使用しました。
結果は「9」となりました。
COUNT関数は、数値や時刻、日時を数えることができる関数ですので、青くハッチをかけたセルがカウントされたということです。
A7~A9は数値と見せかけて「’100」というように入力した文字列です(シングルクォーテーションを頭につけると文字列として認識される)。
これらがカウントされていないのがポイントですね。
3.COUNTA関数
COUNTA関数は、「範囲に含まれる空白ではないセルの個数を返します」とされていました。
COUNTA関数の構文は、COUNT関数と類似していて、以下となっています。
=COUNTA(値1, [値2], ...)
※値1は必須。セル範囲や数値を入力
※値2は省略可。セル範囲や数値を入力
下の画像でCOUNTA関数の使用例を説明します。
A1~A20セルには数値や空白、文字列、日時、論理値、エラー値といった様々な形式のデータを入力してあります。
空白は何も入力しないものと、「=””」としたものの2種類を用意しました。
B列は対応するA列ののデータの種類を入力してあります。
C1セルでは、A1~A20のセル範囲を指定してCOUNTA関数を使用しました。
結果は「19」となりました。
空白はA4、A5セルにありますが、A5セルのように「=””」と入力して見せかけの空白セルを作成した場合、そのセルはカウントされていることがわかります。
要注意のポイントですね。
4.COUNTBLANK関数
COUNTBLANK関数は、「セル範囲内の空白セルの個数を数えます」とされていました。
COUNTBLANK関数の構文は、以下となっています。
セル範囲を入力できますが、数値等をカンマ区切りでは入力できないようです。
=COUNTBLANK(範囲)
下の画像でCOUNTBLANK関数の使用例を説明します。
A1~A20セルには数値や空白、文字列、日時、論理値、エラー値といった様々な形式のデータを入力してあります。
空白は何も入力しないものと、「=””」としたものの2種類を用意しました。
B列は対応するA列ののデータの種類を入力してあります。
C1セルでは、A1~A20のセル範囲を指定してCOUNTBLANK関数を使用しました。
結果は「2」となりました。
COUNTA関数とは異なり、空白は何も入力しないものと「=””」としたものの双方をカウントしました。
COUNTA関数とCOUNTBLANK関数は全く反対の機能というわけではないということです。
この差異をしっかり把握して使い分けすることが必要ですね。
5.COUNTIF関数
COUNTIF関数は、「1 つの検索条件に一致するセルの個数を返します」とされていました。
この検索条件というのが肝になりますが、例えば「●という値と一致する」や「▲という文字列を含む」などの条件を設定することができるので、大変有用な関数です。
COUNTIF関数の構文は以下です。
= COUNTIF(範囲,検索条件)
下の画像でCOUNTIF関数の使用例を説明します。
A1~A20セルには数値や空白、文字列、日時、論理値、エラー値といった様々な形式のデータを入力してあります。
空白は何も入力しないものと、「=””」としたものの2種類を用意しました。
B列は対応するA列ののデータの種類を入力してあります。
C1セルでは、A1~A20のセル範囲を指定し、検索条件を「””」と設定してCOUNTIF関数を使用しました(黄色吹き出し)。
空白セルを検索してその数をカウントしようとしたわけですが、この結果は「2」となりました(黄色ハッチのセル)。
何も入力しないものと「=””」としたものとでは、区別されずにカウントされるようです。
またC11セルでは、A1~A20のセル範囲に対し、検索条件を「”*00″」と設定しています(グレー吹き出し)。
「*(アスタリスク)」はワイルドカードといい、ここでは「00の前部の文字はなんでもよく、末尾が00となる文字列のセル」を検索していることになります。
この結果は「3」となりました。
A6~A8の●00という文字列のセルがカウントされたということです(グレーハッチのセル)。
またC16セルでは、A1~A20のセル範囲に対し、検索条件を「”*E”」と設定しています(黒吹き出し)。
「Eの前部の文字はなんでもよく、末尾がEとなる文字列のセル」を検索していることになります。
結果は「0」となり、条件に合うセルがなかったという結果でした。
A18、A19のような論理値は文字列とは区別されていることがわかりますね。
ちなみに、今回例示しませんでしたが、時刻や日時は文字列として検索ができます。
例えば、日時は「1月1日」、「1/1」、「2021/1/1」など、同じ日時を示すものでも表示形式を変えることができますが、この辺りは寛容に条件に合致しているとみなしてくれるようです。
別記事「エクセルでif関数を使う方法!重要な論理式4パターンを解説!」において、IF関数とCOUNTIF関数の組合せを解説していますので、そちらも合わせてご確認ください。
6.COUNTIFS関数
COUNTIFS関数は「複数の範囲のセルに条件を適用して、すべての条件が満たされた回数をカウントします」とされていました。
複数のセル範囲が設定できることと、条件をANDで満たした場合にカウントされるということがポイントになります。
COUNTIFS関数の構文は以下です。
IFS関数のように、範囲と検索条件とが1セットで、複数設定できます。
ただし、二つ目以降のセットは省略可です。
=COUNTIFS (範囲1, 検索条件1, [範囲2, 検索条件2],[範囲3, 検索条件3],…)
下の画像でCOUNTIF関数の使用例を説明します。
A1~A20セルには数値や空白、文字列、日時、論理値、エラー値といった様々な形式のデータを入力してあります。
空白は何も入力しないものと、「=””」としたものの2種類を用意しました。
B列は対応するA列ののデータの種類を入力してあります。
C1セルでは、A1~A20のセル範囲1に対して検索条件1を「”>=2000″」とし、B1~B20のセル範囲2に対して検索条件2を「”数値”」としています(水色吹き出し)。
結果は「2」となりました。
検索条件1を満たすのはA2、A3セルなのでカウント数は「2」です。
検索条件2を満たすのはB1~B3セルなのでカウント数は「3」です。
検索条件1と2をANDで満たすのは2、3行目の組合せとなるのでカウント数「2」であり、それが出力された形になります(水色ハッチのセル)。
C11セルでは、A1~A20のセル範囲1に対して検索条件1を”*00″とし、B1~B20のセル範囲2に対して検索条件2を”文字列”としています(紫吹き出し)。
結果は「3」となりました。
検索条件1を満たすのはA6~A8セルなのでカウント数は「3」です。
検索条件2を満たすのはB6~B8セルなのでカウント数は「3」です。
検索条件1と2をANDで満たすのは6~8行目の組合せとなるのでカウント数「3」であり、それが出力された形になります(紫ハッチのセル)。
7.まとめ
本記事では「エクセルでデータ個数をカウントする5種の関数」について解説しましたが、いかがでしたか?
似ているようで差異がある5つの関数でした。
特徴をしっかり把握してうまく使い分けましょう。