スプレッドシートのCOUNTA関数の使い方|空白以外のセルを数える方法
「データが入っているセルの数を数えたい」。名簿やアンケートを管理していると、こんな場面がよくありますよね。
COUNT関数を使ったら文字列が無視されてしまい、結果が合わなかった経験はありませんか? それは、COUNT関数が数値しか数えないからです。
そんなときに使うのがCOUNTA関数です。この記事ではGoogleスプレッドシートを対象に解説します。COUNTA関数の基本から実務パターン、COUNT関数との違いまでまとめました。
COUNTA関数とは?空白以外をすべてカウントする関数
COUNTA関数は、指定した範囲で空白以外のセルの個数を返す関数です。読み方は「カウントエー」。COUNT(数える)+ A(All=すべて)が名前の由来です。
ポイントは「値の種類を問わない」という点です。数値・文字列・日付・論理値・エラー値、何が入っていてもカウントします。空白セルだけが除外される、とてもシンプルな仕組みです。
たとえば名簿のB列に名前が入っているセルの数を数えたいとき、COUNTA関数ならセル範囲を指定するだけでOKです。
COUNTA関数の書き方(構文と引数)
基本構文
=COUNTA(値1, [値2, ...])
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値1 | 必須 | カウント対象のセル範囲や値 |
| 値2, … | 任意 | 追加でカウントしたい範囲や値(最大255個) |
引数にはセル範囲を指定するのが一般的です。=COUNTA(B2:B100) のように書きます。複数の範囲をまとめて数えたいときは、カンマで区切ります。
=COUNTA(A1:A10, C1:C10)
COUNTA関数がカウントする値・しない値
COUNTA関数の判定基準を一覧で整理します。
| データの種類 | 例 | カウント |
|---|---|---|
| 数値 | 100, 3.14 | する |
| 文字列 | 山田太郎 | する |
| 日付 | 2024/1/1 | する |
| 時刻 | 9:00 | する |
| 論理値 | TRUE / FALSE | する |
| エラー値 | #N/A, #VALUE! | する |
| スペースのみ | ” “ | する(空白扱いされない) |
| 空文字列(数式結果) | =””の結果 | しない |
| 空白セル | (なし) | しない |
「何か入っていればカウントする。空っぽならカウントしない」。これがCOUNTA関数の基本ルールです。
COUNTA関数の基本的な使い方
実際にCOUNTA関数を使ってみましょう。
B2:B10に「山田, 100, , 鈴木, TRUE, #N/A, 2024/1/1, , 田中」が入っているとします。空白セルは2つです。
=COUNTA(B2:B10)
結果は 7 です。空白セル2つだけが除外され、文字列・数値・論理値・エラー値・日付のすべてがカウントされます。
同じデータにCOUNT関数を使うと、結果は 2 です。数値の100と日付の2024/1/1だけがカウントされます。この違いを押さえておくと、関数の選び間違いを防げますよ。
COUNT関数とCOUNTA関数の違いを比較表で整理
COUNT関数とCOUNTA関数は名前が似ていて混同しやすいです。比較表で違いを整理しましょう。
| 比較項目 | COUNT | COUNTA |
|---|---|---|
| カウント対象 | 数値のみ | 空白以外すべて |
| 文字列 | カウントしない | カウントする |
| 日付・時刻 | カウントする(数値扱い) | カウントする |
| 論理値(TRUE/FALSE) | カウントしない | カウントする |
| エラー値 | カウントしない | カウントする |
| 空白セル | カウントしない | カウントしない |
| 主な用途 | 金額・点数の入力件数 | データ入力済み行数 |
使い分けの考え方
迷ったら次のように判断してください。
- 数値だけの列(金額・点数など)→ COUNT関数
- 文字列も混在する列(名前・回答など)→ COUNTA関数
- 条件付きで数えたい → COUNTIF関数 / COUNTIFS関数
- 空白セルを数えたい → COUNTBLANK関数
COUNTA関数の実務活用パターン4選
基本を押さえたところで、実務での使いどころを紹介します。
名簿の入力済み行数を数える
顧客名簿や社員リストで「名前が入力されている行」を数えるパターンです。
=COUNTA(B2:B100)
B列(名前欄)に値があるセルの数がそのままデータ件数になります。行の追加・削除に連動して自動更新されるので便利です。
回答率・入力率を自動算出する
アンケートの回答率をパーセントで出したいときは、COUNTA関数とROWS関数を組み合わせます。
=COUNTA(C2:C50) / ROWS(C2:C50)
この式で「回答済み人数 / 全体の行数」が計算できます。セルの書式を「パーセント」にすれば、回答率がすぐに確認できますよ。
未入力セル数を把握する
全体の行数からCOUNTAの結果を引くと、未入力セルの数がわかります。
=ROWS(B2:B100) - COUNTA(B2:B100)
COUNTBLANK関数でも同じ結果が得られます。ただし、COUNTBLANKは空文字列も「空白」として数えるため、数式が入ったセルがある場合は結果が異なることがあります。
COUNTAとCOUNTBLANKで入力状況を一目で確認する
COUNTAとCOUNTBLANKは表裏の関係にあります。両方を並べて表示すると、入力状況が一目瞭然です。
入力済み: =COUNTA(B2:B50)
未入力: =COUNTBLANK(B2:B50)
この2つの合計は常にセルの総数と一致します。進捗管理シートで「入力済み / 未入力」を並べておくと、チーム内の状況共有に便利です。
よくあるエラーと対処法
COUNTA関数自体がエラーを返すケースはほぼありません。ただし「結果が期待と違う」トラブルはよく起こります。
| 症状 | 原因 | 対処法 |
|---|---|---|
| カウントが多すぎる | スペースだけのセルがある | TRIM関数でスペースを除去 |
| カウントが多すぎる | 削除したセルに数式が残っている | Deleteキーで完全に削除 |
| カウントが少ない | 数式の結果が空文字列(“”) | IF式の空文字列を見直す |
スペースが入ったセルに要注意(最頻出の落とし穴)
COUNTA関数で一番多いトラブルがこれです。見た目は空白なのにカウントされるセルがあったら、スペースが入っている可能性が高いです。
確認方法はセルを選択して数式バーを見るだけです。スペースが見えたらDeleteキーで内容を消しましょう。広い範囲をまとめて対処したいときは、TRIM関数が便利です。
=TRIM(A1)
TRIM関数は前後のスペースと連続スペースを除去します。別の列にTRIM関数の結果を出し、値貼り付けで元のセルに戻すと一括対応できます。
空文字列(“”)はカウントされない
=IF(A1=1, "OK", "") のような数式が入ったセルを考えます。条件を満たさないとき、結果は空文字列(“”)です。このセルはCOUNTA関数ではカウントされません。
数式が入っているのにカウントが少ないときは、空文字列を返す数式がないか確認してみてください。
まとめ
COUNTA関数は「空白以外のセルの個数を数える」シンプルな関数です。
- 構文:
=COUNTA(値1, [値2, ...]) - 数値・文字列・日付・論理値すべてをカウントする
- 空白セルと空文字列(“”)のみ対象外
- COUNT関数(数値のみ)との使い分けがポイント
- スペースだけのセルは空白扱いされないので注意
データの入力状況を手軽に確認できるので、名簿管理やアンケート集計でぜひ活用してみてください。
関連記事
COUNT系関数の使い分けをもっと詳しく知りたい方は、以下の記事もあわせてどうぞ。
また、データの合計を出したいときはSUM関数とセットで覚えておくと効率的です。
