COUNT・COUNTA・COUNTBLANK関数の使い分け
COUNT関数、COUNTA関数、COUNTBLANK関数は、いずれもセルの個数を数える関数ですが、カウント対象がそれぞれ異なります。数値セルだけを数えるCOUNT、空白以外をすべて数えるCOUNTA、空白セルを数えるCOUNTBLANKの3つを正しく使い分けることが大切です。
3つの関数の違い
まず、3つの関数がそれぞれ何をカウントするかを整理します。
比較表
| 関数 | カウント対象 | 空白セル | 文字列 | 数値 | エラー値 | 論理値 |
|---|---|---|---|---|---|---|
| COUNT | 数値のみ | 除外 | 除外 | カウント | 除外 | 除外 |
| COUNTA | 空白以外すべて | 除外 | カウント | カウント | カウント | カウント |
| COUNTBLANK | 空白セル | カウント | 除外 | 除外 | 除外 | 除外 |
具体例で確認
以下のデータで各関数の結果を比較します。
| セル | 値 |
|---|---|
| A1 | 100 |
| A2 | テスト |
| A3 | (空白) |
| A4 | 200 |
| A5 | TRUE |
| A6 | #N/A |
| A7 | (空白) |
=COUNT(A1:A7) → 2(100, 200の2つ)
=COUNTA(A1:A7) → 4(100, テスト, 200, TRUE, #N/Aの5つ)
=COUNTBLANK(A1:A7) → 2(空白セルが2つ)
COUNTAはエラー値もカウントする点に注意してください。
COUNT関数の基本と活用
COUNT関数は、指定した範囲内の数値セルの個数を返します。
基本構文
=COUNT(値1, [値2], ...)
数値データの件数を確認する
売上データの入力件数を確認する例です。
| A列:日付 | B列:商品名 | C列:売上金額 |
|---|---|---|
| 4/1 | ノートPC | 198000 |
| 4/2 | マウス | 3500 |
| 4/3 | (未入力) | (空白) |
| 4/4 | キーボード | 8900 |
=COUNT(C2:C5)
結果は3です。数値が入力されている3つのセルだけをカウントし、空白セルは除外されます。
複数の範囲を指定する
COUNT関数は複数の引数を受け取れます。
=COUNT(B2:B50, D2:D50)
B列とD列の数値セルの合計個数を返します。
直接値を指定する
セル範囲だけでなく、直接値を引数に含めることもできます。
=COUNT(A1:A10, 100, 200)
A1:A10内の数値セル数に2を加えた結果を返します。
COUNTA関数の基本と活用
COUNTA関数は、空白でないセルの個数を返します。数値、文字列、エラー値、論理値のすべてをカウントします。
基本構文
=COUNTA(値1, [値2], ...)
データ入力状況の確認
アンケート回答の入力状況を確認する例です。
| A列:回答者 | B列:Q1 | C列:Q2 | D列:Q3 |
|---|---|---|---|
| 田中 | はい | いいえ | はい |
| 佐藤 | はい | (空白) | いいえ |
| 山田 | (空白) | はい | はい |
各設問の回答数を確認します。
=COUNTA(B2:B4) → 2(田中、佐藤が回答)
=COUNTA(C2:C4) → 2(田中、山田が回答)
=COUNTA(D2:D4) → 3(全員が回答)
行全体のデータ有無を確認する
特定の行にデータが入力されているかどうかを確認できます。
=COUNTA(B2:D2)
B2からD2の中で空白でないセルの数を返します。結果が0ならその行は未入力です。
空文字列に注意
数式の結果として空文字列("")が入っているセルは、見た目は空白ですがCOUNTAでカウントされます。
=IF(A1>100, "合格", "")
この数式が入ったセルは、結果が空文字列でも「空白でない」と判定されます。正確なカウントが必要な場合は注意してください。
COUNTBLANK関数の基本と活用
COUNTBLANK関数は、指定した範囲内の空白セルの個数を返します。
基本構文
=COUNTBLANK(範囲)
COUNTやCOUNTAと異なり、引数は1つの範囲のみです。
未入力セルの個数を確認する
データ入力シートで、未入力の項目数を把握する例です。
| A列:社員番号 | B列:氏名 | C列:部署 | D列:電話番号 |
|---|---|---|---|
| 001 | 田中太郎 | 営業部 | 03-1234-5678 |
| 002 | 佐藤花子 | (空白) | 03-2345-6789 |
| 003 | 山田一郎 | 総務部 | (空白) |
=COUNTBLANK(B2:D4)
結果は2です。C3とD4の2つの空白セルをカウントします。
空文字列の扱い
COUNTBLANK関数は、数式の結果が空文字列("")のセルも空白としてカウントします。この点はCOUNTAと逆の動作です。
# セルに =IF(A1>100,"合格","") が入っている場合
# 結果が""ならCOUNTBLANKでカウントされる
データ入力率の算出
3つの関数を組み合わせて、データの入力率(完成度)を算出できます。
入力率の計算式
=COUNTA(B2:B100) / (COUNTA(B2:B100) + COUNTBLANK(B2:B100))
または、ROWS関数やCOUNTA+COUNTBLANKの代わりにROWS関数を使う方法もあります。
=COUNTA(B2:B100) / ROWS(B2:B100)
実務での入力進捗管理
従業員データベースの入力進捗を管理する例です。
| 項目 | 入力済み | 未入力 | 入力率 |
|---|---|---|---|
| 氏名 | =COUNTA(B2:B100) | =COUNTBLANK(B2:B100) | =COUNTA(B2:B100)/ROWS(B2:B100) |
| 部署 | =COUNTA(C2:C100) | =COUNTBLANK(C2:C100) | =COUNTA(C2:C100)/ROWS(C2:C100) |
| 電話番号 | =COUNTA(D2:D100) | =COUNTBLANK(D2:D100) | =COUNTA(D2:D100)/ROWS(D2:D100) |
入力率のセルにパーセント書式を設定すると、進捗状況がわかりやすくなります。
全項目の入力完了チェック
1行のすべての項目が入力済みかどうかを判定する数式です。
=IF(COUNTBLANK(B2:F2)=0, "入力完了", COUNTBLANK(B2:F2) & "項目未入力")
空白セルが0なら「入力完了」、それ以外は未入力の項目数を表示します。
COUNTIF・COUNTIFSとの使い分け
条件付きのカウントが必要な場合は、COUNTIF関数またはCOUNTIFS関数を使用します。
| 関数 | 用途 | 条件指定 |
|---|---|---|
| COUNT | 数値セルの個数 | なし |
| COUNTA | 空白以外のセルの個数 | なし |
| COUNTBLANK | 空白セルの個数 | なし |
| COUNTIF | 1つの条件に一致するセルの個数 | 1つ |
| COUNTIFS | 複数条件に一致するセルの個数 | 複数 |
条件なしで単純にカウントする場合はCOUNT・COUNTA・COUNTBLANKを、条件付きでカウントする場合はCOUNTIF・COUNTIFSを使い分けてください。
よくある間違いと注意点
COUNTで文字列がカウントされない
COUNT関数は数値のみをカウントします。文字列や日付として認識されないデータはカウントされません。すべてのデータをカウントしたい場合はCOUNTA関数を使います。なお、日付はExcel内部では数値(シリアル値)として扱われるため、COUNT関数でカウントされます。
数式で生成された空文字列
IF関数などで空文字列("")を返す数式が入ったセルは、見た目は空白でもCOUNTAでカウントされます。正確に空白セルを数えたい場合は、SUMPRODUCT関数と組み合わせる方法があります。
=SUMPRODUCT((LEN(B2:B100)>0)*1)
この数式は、実際に文字が入力されているセルだけをカウントします。
まとめ
COUNT、COUNTA、COUNTBLANK関数は、カウント対象の違いを正しく理解して使い分けることが重要です。
- COUNT関数は数値セルのみをカウントする
- COUNTA関数は空白以外のすべてのセルをカウントする
- COUNTBLANK関数は空白セルをカウントする
- 3つの関数を組み合わせてデータ入力率を算出できる
- 空文字列("")の扱いに注意が必要
- 条件付きカウントにはCOUNTIF・COUNTIFS関数を使用する
なお、COUNT、COUNTA、COUNTBLANK関数はいずれもGoogle スプレッドシートで同じ構文・同じ動作で利用できます。データの入力状況の把握や品質チェックに欠かせない関数です。それぞれの特徴を理解し、目的に合った関数を選びましょう。