エクセル関数辞典 エクセル関数辞典

COUNT・COUNTA・COUNTBLANK関数の使い分け

COUNT COUNTA COUNTBLANK カウント 集計 Excel関数
広告スペース (article-top)

COUNT関数、COUNTA関数、COUNTBLANK関数は、いずれもセルの個数を数える関数ですが、カウント対象がそれぞれ異なります。数値セルだけを数えるCOUNT、空白以外をすべて数えるCOUNTA、空白セルを数えるCOUNTBLANKの3つを正しく使い分けることが大切です。

3つの関数の違い

まず、3つの関数がそれぞれ何をカウントするかを整理します。

比較表

関数カウント対象空白セル文字列数値エラー値論理値
COUNT数値のみ除外除外カウント除外除外
COUNTA空白以外すべて除外カウントカウントカウントカウント
COUNTBLANK空白セルカウント除外除外除外除外

具体例で確認

以下のデータで各関数の結果を比較します。

セル
A1100
A2テスト
A3(空白)
A4200
A5TRUE
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ノートPC198000
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列:Q1C列:Q2D列: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空白セルの個数なし
COUNTIF1つの条件に一致するセルの個数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 スプレッドシートで同じ構文・同じ動作で利用できます。データの入力状況の把握や品質チェックに欠かせない関数です。それぞれの特徴を理解し、目的に合った関数を選びましょう。

広告スペース (article-bottom)

あわせて読みたい