「未提出は何人?」を数える:COUNTBLANKとCOUNTAの違いと2つの注意

「未提出は何人?」を数える:COUNTBLANKとCOUNTAの違いと2つの注意

記事
IT・テクノロジー
提出日の列が空いている人を数えたい、という場面はよくあります。使える関数は COUNTBLANK(空のセルを数える)と COUNTA(何か入っているセルを数える)の2つです。どちらでも数えられそうに見えますが、「空に見えるのに空ではないセル」があると、答えがずれます。

例として、A列に名前、B列に提出日が入った表を使います。

2行目:田中/10/1
3行目:佐藤/(空)
4行目:鈴木/(スペースが1つだけ)
5行目:高橋/(空)
6行目:伊藤/10/3

4行目の鈴木さんは、画面では空に見えますが、スペースが1つ入っています。いったん何か入れて、スペースで消したつもりになった、というよくある形です。

■数え方1:COUNTBLANK で空のセルを数える

=COUNTBLANK(B2:B6)

見本で計算した結果は 2 でした。佐藤さんと高橋さんの2人です。スペースの入った鈴木さんは「空ではない」と数えられています。

■数え方2:全体から COUNTA を引く

=ROWS(B2:B6)-COUNTA(B2:B6)

COUNTA は何か入っているセルを数えます。見本では 3(田中・鈴木・伊藤)で、5行から引くと 2 になりました。こちらも鈴木さんは「提出済み」の側に入ります。

■注意1:スペースだけのセルは、どちらでも「入っている」扱い

見た目が空でも、スペースが1つあれば COUNTBLANK は数えず、COUNTA は数えます。画面で数えた「未提出3人」と、関数の「2」が合わないときは、まずこれを疑います。

スペースだけのセルも空として数えたいときは、TRIM でスペースを取ってから比べます。

=SUMPRODUCT((TRIM(B2:B6)="")*1)

見本ではこの式で 3 になりました。根本から直すなら、セルを選んで Delete キーで中身を消しておくのが確実です。

■注意2:式で作った "" は、COUNTA だと「入っている」

別の列に =IF(B2="","",B2) のような式を入れて、空のときは "" を返すようにしている表もあります。この列(C2:C6)で数えると、

・=COUNTBLANK(C2:C6) → 2
・=COUNTA(C2:C6) → 5
・=COUNTIF(C2:C6,"") → 2

になりました。COUNTA は「式が入っているセル」を全部数えるので、見た目は空でも5になります。式の入った列で未入力を数えるときは、COUNTA ではなく COUNTBLANK か COUNTIF(範囲,"") を使います。

■まとめ

・空のセルの数は =COUNTBLANK(B2:B6)
・スペースだけのセルは「入っている」扱いになる。空として数えたいなら =SUMPRODUCT((TRIM(B2:B6)="")*1)
・式で "" を返す列では、COUNTA は見た目の空も数えてしまう。COUNTBLANK か COUNTIF(範囲,"") を使う

※式は Excel 互換の計算ライブラリ(Python の formulas)で見本の表を計算して確かめました。Google スプレッドシートや Excel の画面そのものでは試していません。

「この表で未入力の人だけ数えたい」「集計の式を作ってほしい」という式づくりは、出品中の「スプレッドシート関数・GASを1つお作りします」でもお受けしています。購入前のご相談だけでも大丈夫です。

この記事は生成AI(Claude)を使って書き、式は上の方法で計算して確かめています。
サービス数100万件のスキルマーケット、あなたにぴったりのサービスを探す