エクセルで数値が入力されているセルの個数だけを数えたい場面はよくあります。
文字列や空白が混在しているデータから数値のセルだけをカウントしたり、フィルターで絞り込んだ結果の個数を集計したりする操作は、データ分析や集計業務で頻繁に必要になります。
この記事では【Excel】エクセルで数値の個数をカウントする方法(COUNT関数・数値のみ・フィルターでの集計)について解説していきます。
ポイントは
・COUNTA関数は空白以外のすべてのセルをカウントするため文字列も含まれる
・フィルター後の数値個数を正確に数えるにはSUBTOTAL関数を使う
です。
それでは詳しく見ていきましょう。
エクセルで数値の個数をカウントする方法1【COUNT関数の基本】
数値が入力されているセルの個数をカウントするにはCOUNT関数を使います。
COUNT関数は指定した範囲の中で数値が入力されているセルの個数だけを返す関数です。
文字列・空白・エラー値は無視されるため、データの中から数値セルだけを正確に数えることができます。
サンプルデータで確認してみましょう
| 商品名 | 4月売上(円) | 5月売上(円) | 6月売上(円) | 備考 |
|---|---|---|---|---|
| 桜餅 | 180,000 | 220,000 | 195,000 | 好調 |
| 柏餅 | 200,000 | 未集計 | 210,000 | |
| マシュマロ | 150,000 | 160,000 | 要確認 | |
| チョコ | 220,000 | 230,000 | 200,000 |
1行目にヘッダーがあり、B〜D列に月別売上が入力されています。
C3セルには「未集計」という文字列、D4セルは空白になっているため、数値が入力されているセルの個数が実際の件数とは異なる状態を想定しています。
COUNT関数の使い方
COUNT関数の書式は以下の通りです。
「値1」には数値の個数を数えたいセル範囲を指定します。
たとえばB2:D5の範囲で数値が入力されているセルの個数を数えるには以下のように入力します。
サンプルデータでは「未集計」という文字列が入っているC3セルと空白のD4セルはカウントされないため、結果は「10」になります。

B列だけの数値個数を数えたい場合は「=COUNT(B2:B5)」で「4」が返されます。
複数の離れた範囲を同時にカウントしたい場合はカンマで区切って複数の範囲を指定できます。
この数式ではB列とD列の数値セルを合わせた個数が返されます。

なお日付はエクセル内部ではシリアル値という数値として扱われるため、COUNT関数では数値としてカウントされる点に注意しましょう。
エクセルで数値の個数をカウントする方法2【COUNTAとCOUNTBLANKとの違い】
COUNT関数と混同しやすい関数としてCOUNTA関数とCOUNTBLANK関数があります。
COUNTA関数は空白以外のすべてのセルをカウントするため文字列や日付も含まれます。
COUNT関数が「数値のみ」をカウントするのに対し、COUNTA関数は「空白以外すべて」をカウントするという違いがあります。
COUNTBLANK関数は空白セルの個数をカウントする関数で、未入力のセルがいくつあるかを確認したい場合に使います。
3つの関数の違いをサンプルで確認する
サンプルデータのB2:D5範囲(12セル)に対してそれぞれの関数を適用した場合の結果を確認してみましょう。
COUNT関数は数値セルだけをカウントするため「10」を返します(文字列の「未集計」と空白セルを除く)。

COUNTA関数は空白以外をすべてカウントするため「11」を返します(「未集計」という文字列も含むが空白セルは除く)。

COUNTBLANK関数は空白セルの個数をカウントするため「1」を返します(D4の空白セルのみ)。

この3つの関数の使い分けは次のようになります。
・数値が何件入力されているかを知りたい場合はCOUNT関数を使う
・何かしらデータが入力されているセルの件数を知りたい場合はCOUNTA関数を使う
・まだ入力されていないセルが何件あるかを知りたい場合はCOUNTBLANK関数を使う
エクセルで数値の個数をカウントする方法3【条件付きでカウントするCOUNTIF関数】
特定の条件を満たす数値のセルだけをカウントしたい場合はCOUNTIF関数が便利です。
COUNTIF関数は指定した範囲の中で条件を満たすセルの個数を返す関数で、「100以上の数値が何件あるか」「特定の値と一致するセルが何件あるか」といった条件付きのカウントに対応しています。
COUNTIF関数の使い方
COUNTIF関数の書式は以下の通りです。
「範囲」にはカウントしたいセル範囲を指定し、「検索条件」にはカウントする条件を指定します。
たとえばB2:D5の範囲で200,000以上の数値が何件あるかをカウントするには以下のように入力します。
条件は「”>=200000″」のようにダブルクォーテーションで囲んで指定します。

等号・不等号を使った条件の指定方法は次の通りです。
・「”>=200000″」は200,000以上
・「”<200000″」は200,000未満
・「”=200000″」は200,000と等しい
・「”<>200000″」は200,000以外
複数の条件を同時に指定したい場合はCOUNTIFS関数を使います。
この数式ではB列で150,000以上かつ200,000以下の数値セルの個数が返されます。

エクセルでフィルター後の数値個数をカウントする方法【SUBTOTAL関数】
オートフィルターで絞り込んだ後に表示されているセルだけの数値個数をカウントしたい場合は、SUBTOTAL関数を使います。
COUNT関数はフィルターで非表示になったセルも含めてカウントしてしまいますが、SUBTOTAL関数は表示されているセルだけを対象にカウントします。
SUBTOTAL関数の使い方
SUBTOTAL関数の書式は以下の通りです。
「集計方法」にはどのような集計を行うかを数値で指定します。
数値の個数をカウントする場合は集計方法に「2」を指定します。
この数式ではB2:B5の範囲でフィルター後に表示されている数値セルの個数が返されます。

フィルターをかけて特定の商品だけを表示した状態でも、SUBTOTAL関数は表示されているセルだけをカウントするため正確な件数が得られます。
集計方法の主な数値と対応する関数は次の通りです。
・「1」はAVERAGE(平均)
・「2」はCOUNT(数値の個数)
・「3」はCOUNTA(空白以外の個数)
・「9」はSUM(合計)
・「101」〜「109」は手動で非表示にした行も除外してカウントする設定です
まとめ エクセルで数値の個数を数える(関数名・データの個数との違い・セル・COUNT関数・数字のみ・フィルターでの集計)
エクセルで数値の個数をカウントする主な方法をまとめると、次のようになります。
・COUNT関数は数値セルの個数だけをカウントし文字列・空白・エラーは無視される
・COUNTA関数は空白以外のすべてのセルをカウントし文字列も含まれる
・COUNTBLANK関数は空白セルの個数をカウントして未入力セルの確認に使う
・条件付きでカウントするにはCOUNTIF関数・複数条件にはCOUNTIFS関数を使う
・フィルター後の表示セルだけをカウントするにはSUBTOTAL関数の集計方法「2」を使う
COUNT系の関数は似た名前のものが多く混同しやすいですが、それぞれの動作の違いを理解することで正確なデータ集計ができるようになります。
特にフィルターを使ったデータ分析ではSUBTOTAL関数が欠かせませんので、合わせて覚えておくと集計作業がより正確かつ効率的になるでしょう。
用途に合ったカウント関数を使い分けて、エクセルでのデータ管理をスムーズに進めていきましょう。


コメント