
今回のお題はセルの個数を数える関数、COUNT・COUNTA・COUNTBLANKの使い方です。
※解説画像はMicrosoft365を使用しています
それぞれの関数の役割
頭にCOUNTのつく関数はすべて指定した範囲内にあるセルの個数を数えるものですが、それぞれ何を数える対象にするかが異なります。一覧にするとこのようになります。
関数名 | 何を数える? |
---|---|
COUNT (カウント) | 範囲内の数値が含まれるセルの個数を数えます。 |
COUNTA (カウントエー) | 範囲内の空白でないセルの個数を数えます。 |
COUNTBLANK (カウントブランク) | 範囲内の空白セルの個数を数えます。 |
関数のカテゴリーはすべて「統計」に属します。[数式]タブから関数を挿入する場合は「その他の関数」⇒「統計」の順にクリックして選択してください。

ではここから1つずつ特徴を見ていきましょう。
COUNT(カウント)
COUNTは数値が含まれるセルの値を数えます。もう少し具体的に言うと、数値の他にも日付や時刻、数式の入力されたセルで結果が数値で返されるもの(エラー値は除く)、パーセント表示などがカウント対象になります。

日付や時刻の正体は「シリアル値」という数値、パーセントも元は小数点を含む数値なのでカウント対象になる、という事ですね。
こちらが引数の構成です。至ってシンプルです。
=COUNT(値1,値2・・・)
括弧()内の引数には、数を数えたいセルもしくはセル範囲を指定します。
ではこちらの表を使い、セルB2~C7の範囲のうち数値の入っているセルの個数をE2に表示してみます。

E2にカーソルを置き、[数式]タブ⇒「その他の関数」⇒「統計」⇒COUNTを順にクリックします。
「関数の引数」ダイアログボックスを開きました。「値1」「値2」までが表示されていますが、引数は値1のみ必須で、値2以降はなくても問題ありません。

「値1」のボックスに数をカウントする範囲を指定しますので、セルB2~C7をドラッグします。ボックス内に「B2:C7」と入力されたのを確認しEnterを押します。

数値の入ったセルの個数が表示されました。「0」も数値ですのでちゃんとカウントされています。

離れたセル範囲を引数に入力する場合は、「値1」にひとつめの範囲を入力し、Tabキーを押してカーソル移動⇒「値2」にふたつめの範囲を入力・・・でも良いのですが、Ctrlキーを使った方がもっと簡単に入力できます。
こちらの例のように、セルB2~B8、D3~D8、F5~F8の範囲で数値の入力されたセルの個数をF2に求めてみるといった場合・・・

「関数の引数」ダイアログボックスが開いたら、「値1」にカーソルがある状態でCtrlキーを押しながらB2~B8、D3~D8、F5~F8をすべてドラッグします。「値1」のボックスには、それぞれのセル範囲が「,」(コンマ)で区切られた状態で次々と範囲が追加されていきます。

すべての範囲が入力できたらEnterを押して数式を確定します。ここで数式バーの左にある「関数の挿入」をクリックし、「関数の引数」ダイアログボックスを再度表示してみましょう。

入力した時は「値1」ボックスしか使っていませんでしたが、数式を確定すると同時にExcelが自動的に3つの範囲を「値1」から「値3」に振り分けてくれます。


ちなみに引数は255個まで設定できるようになっていますが、そんなに使う事はまずないでしょうなあ・・・
尚、COUNTを使う時少し注意しておきたいのが、数値と文字が混在している場合です。例を挙げると「1部」とか「85点」など。個数や助数詞がそのまま文字で入力されているとセルの値は「文字列」になってしまうためカウント対象にはなりません。
ただし、セルの値は数値のみで、表示形式で個数や助数詞をつけている場合はカウント対象になります。
また、先ほどの例で「0」も数値としてカウントされていましたが、本来は0が入っているセルをExcelのオプションや表示形式で「0を表示しない」設定にしていた場合、見た目は空白セルでもカウント対象になります。
★表示形式や0を表示しない設定についてはこちらの回で書いておりますのでご参考にどうぞ。
【Excel】数字に円、個、本などの単位や助数詞をつけたい
【Excel】セルの値が「0」の時は表示しない設定
COUNTの実用例
ここまでを踏まえて実用例を1つ。下表はテストや研修の管理表などでよくあるパターンですが、B列にはメンバーの名前が入力されており、受講済のメンバーはC列に受講日が入力されています。セルF2に「受講済」の数を求めてみましょう。

このような表の作りであれば、C列の受講日がいくつあるか数えれば受講済人数が求められますので、F2にCOUNT関数を入れ、引数は「C2:C9」の範囲をドラッグします。

受講済の数が求められました。

COUNTA(カウントエー)
続いてCOUNTAです。これは範囲内の空白でないセルの個数を数えるものです。
=COUNTA(値1,値2・・・)
引数の入れ方はCOUNTと同じで、数を数えたいセル(セル範囲)を最低1つ指定します。
COUNTAは、数値でも文字列でも記号でも数式(エラー値も含む)でも、選択した範囲で何かしらが入力されているセルであればすべてカウントされます。表示形式で「0」を非表示にしていたり、IF関数などで結果が空白になっていてもカウント対象になります。
こちらの表のセルD2~D8の範囲には様々な種類のデータが入力されていますが、同じ範囲をCOUNTとCOUNTAで数えた場合を比較してみました。COUNTではAという文字列と数式のエラー値は対象外なので「5」、COUNTAではすべてがカウント対象となるので「7」という結果になっています。

COUNTAの実用例
先の表の続きです。セルE2にメンバーの数を求めてみましょう。

この場合は名前の入っているセルの個数を数えれば良いので、E2にCOUNTA関数を入れ、引数は項目名を除きB2:B9の範囲をドラッグします。

メンバーの数が求められました。

COUNTBLANK(カウントブランク)
COUNTBLANKは範囲内の空白のセルの個数を数えます。引数はこちらのようになります。
=COUNTBLANK(範囲)
COUNT、COUNTAと異なり範囲は1つしか指定できません。Ctrlキーを押しながら複数範囲を選択しても[OK]を押すと「引数多すぎ」と怒られます。
数式が入っているセルが範囲に含まれる場合、IF関数などで結果が空白になっているセルはカウント対象になりますが、「0」が非表示になっているセルはカウントされませんので注意しましょう。
COUNTBLANKの実用例
ではこちらの表で、セルG2に未受講の数を求めてみましょう。

言ってしまうと、ここまで出来上がっていれば、[メンバー数]-[受講済](=E2-F2)という四則演算式を入れれば求められるのですが、まあここは練習でございます、せっかくなのでCOUNTBLANKを使ってやってみましょう。
未受講は「受講日」の列に日付が入っていないセルの数を数えれば良いので、G2にCOUNTBLANK関数を入れ、引数は「C2:C9」の範囲をドラッグします。

未受講数が求められました。

COUNT関数を使用する時は、表の見た目だけにとらわれず、データがどのようなルールで入力されているかをよく確認した上で適切なものを選ぶようにしましょう。