提出日の列が空いている人を数えたい、という場面はよくあります。使える関数は 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)を使って書き、式は上の方法で計算して確かめています。