スプレッドシートのCOUNTBLANK関数の使い方|空白セル数
スプレッドシートで「入力されていないセルって何個あるんだろう?」と思ったことはありませんか?
アンケートの未回答チェックや提出物の入力漏れ確認を、目視でやるのは手間ですよね。
そんなときに使えるのがCOUNTBLANK関数です。範囲を指定するだけで空白セルの個数を一発で返してくれます。
この記事では基本の書き方から実務での活用パターンまで紹介します。
COUNTBLANK関数とは?
COUNTBLANK関数(読み方: カウントブランク関数)は、指定した範囲にある空白セルの個数を返す関数です。
名前はCOUNT(数える)+ BLANK(空白)が由来です。たとえばA1:A10の中に空白セルが3つあれば、=COUNTBLANK(A1:A10) で「3」が返ります。
引数は「範囲」の1つだけです。COUNT系関数の中でもっともシンプルですね。
COUNTBLANK関数にできることをまとめると、次のとおりです。
- 空白セルの個数を数える
- 入力漏れ・未回答を自動検出する
- 入力率や進捗率を計算する
- データの品質をチェックする
NOTE
COUNTBLANK関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。
COUNTBLANK関数の書き方(構文と引数)
基本構文
=COUNTBLANK(範囲)
カッコの中に空白セルを数えたい範囲を入れるだけです。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 範囲 | 必須 | 空白セルを数えたいセル範囲(例: A1:A10) |
引数は1つだけです。指定した範囲の中にある空白セルの個数が返ります。
COUNTBLANK関数が空白と判定する値・しない値
どのセルが「空白」として数えられるかを一覧にしました。
| データの種類 | 空白として判定 |
|---|---|
| 何も入力されていないセル | 空白(カウント対象) |
数式の結果が空文字列(="") | 空白(カウント対象) |
| 数値(0を含む) | 空白ではない |
| 文字列(”abc”など) | 空白ではない |
| 日付・時刻 | 空白ではない |
| 論理値(TRUE/FALSE) | 空白ではない |
| エラー値(#N/A等) | 空白ではない |
| スペースのみ入力(半角・全角) | 空白ではない |
特に注意したいのは「スペースだけのセル」です。見た目は空白でも、スペースが入っていると空白扱いになりません。
TIP
数式の結果が
""のセルはCOUNTA関数ではカウントされません。一方、COUNTBLANK関数ではカウントされます。つまり COUNTA + COUNTBLANK = 全セル数 という関係が常に成り立ちます。
COUNTBLANK関数の基本的な使い方
セル範囲の空白を数える
もっともシンプルな使い方です。B列に回答状況が入っているとします。
=COUNTBLANK(B2:B6)
B2からB6の中で空白のセルの個数を返します。「済」などの文字が入っているセルは数えません。
表全体の空白を数える
複数列をまとめて指定することもできます。
=COUNTBLANK(A2:D10)
A列からD列までの範囲内にある空白セルをすべてカウントします。
結果が0かどうかで分岐する
結果が0なら空白なし、1以上なら空白ありと判定できます。
=IF(COUNTBLANK(B2:B10)=0, "入力完了", "未入力あり")
空白セルがなければ「入力完了」、1つでもあれば「未入力あり」と表示されます。
数式が空文字列を返すセルも含まれる
IF関数で空文字列を返している場合を確認します。
=IF(A2="", "", "入力済み")
この数式でA2が空白のとき、B2は "" です。COUNTBLANK関数はこのセルも空白として数えます。
実務でのCOUNTBLANK関数活用例
入力漏れチェック(提出物の確認)
もっとも使用頻度が高いパターンです。月次報告やアンケートで未入力の項目を自動検出します。
=IF(COUNTBLANK(B2:B20)=0, "提出OK", "未入力あり")
空白セルが0なら全項目が入力済みです。提出前の最終チェックに使ってみてください。
さらに「何件未入力か」まで表示するなら次のように書きます。
=IF(COUNTBLANK(B2:B20)=0, "提出OK", COUNTBLANK(B2:B20)&"件 未入力")
入力率・進捗率の計算
データの入力がどこまで進んでいるかを把握するパターンです。
=1 - COUNTBLANK(B2:B20) / ROWS(B2:B20)
「1 – 空白セル数 / 全セル数」で入力率を計算しています。ROWS関数で行数を取得するので、データが増えても自動対応です。セルの表示形式をパーセンテージにすると見やすくなります。
TIP
=COUNTA(B2:B20)/ROWS(B2:B20)でも同じ入力率を求められます。COUNTBLANK(空白を数える)とCOUNTA(空白以外を数える)は表裏の関係です。
複数列の空白を一括確認(データ品質チェック)
住所録や顧客リストなど、複数列にまたがるデータの空白を一括でチェックします。
=COUNTBLANK(A2:E100)
A列からE列までの空白セルをまとめて数えます。「全体でどれくらい抜け漏れがあるか」を把握する第一歩として便利です。
列ごとに個別で数えると、どの項目に未入力が多いかもわかります。
=COUNTBLANK(A2:A100) → 氏名の未入力数
=COUNTBLANK(B2:B100) → メールの未入力数
=COUNTBLANK(C2:C100) → 電話番号の未入力数
条件付き書式と組み合わせて未入力行を色付け
COUNTBLANK関数の結果をもとに、未入力がある行を視覚的に目立たせる方法です。
条件付き書式のカスタム数式に次のように入力します。
=COUNTBLANK($B2:$E2)>0
この条件がTRUEのときにセルを赤くすると、1項目でも未入力がある行がひと目でわかります。
COUNTAとの組み合わせで入力ダッシュボード
COUNTA関数と並べて入力状況を一覧にするパターンです。
入力済み: =COUNTA(B2:B20)
未入力: =COUNTBLANK(B2:B20)
合計: =ROWS(B2:B20)
この3つをシートの上部に並べておけば進捗管理がラクになります。合計が全セル数と一致するので整合性の確認もかんたんです。
よくあるエラーと対処法
COUNTBLANK関数自体がエラーを返すことはほとんどありません。ただし「思った結果にならない」ケースがあります。
| 症状 | 原因 | 対処法 |
|---|---|---|
| 空白に見えるのにカウントされない | セルにスペース(半角・全角)が入っている | TRIM関数でスペースを除去する |
| 空白に見えるのにカウントされない | 改行コードや制御文字が残っている | SUBSTITUTE関数やCLEAN関数で削除する |
| 数式セルが空白としてカウントされる | 数式の結果が "" になっている | 意図どおりならそのまま。除外したい場合は別の値を返す |
| 0が入ったセルもカウントしたい | COUNTBLANK関数は0を空白と見なさない | COUNTIF関数で =COUNTIF(B2:B20,0) と別途数える |
| 結果が予想より多い | 非表示の行にも空白セルがある | フィルタや非表示行を解除して確認する |
スペース混入の見分け方
セルが空白に見えるのにカウントされない場合、スペースの混入を疑いましょう。LEN関数で確認できます。
=LEN(B2)
結果が0なら本当に空白です。1以上ならスペースや不可視文字が入っています。
スペースを一括除去するにはTRIM関数が便利です。
=TRIM(B2)
TIP
「データ」メニュー →「データクリーンアップ」→「空白文字を削除」でも一括除去できます。Googleスプレッドシートならではの便利機能ですね。
似た関数との違い・使い分け
COUNTBLANK関数と関連する関数をまとめました。
| 関数 | 数えるもの | 引数 | 代表的な用途 |
|---|---|---|---|
| COUNTBLANK | 空白セル | 範囲(1つ) | 入力漏れの検出 |
| COUNT | 数値が入ったセル | 範囲(複数可) | テスト受験者数の集計 |
| COUNTA | 空白でないセル(種類不問) | 範囲(複数可) | データ入力済み件数の確認 |
| COUNTIF | 条件に合うセル | 範囲, 検索条件 | 特定の値の出現回数 |
| COUNTIFS | 複数条件に合うセル | 条件範囲ペア | 部署別かつ期間内の件数 |
COUNTBLANKとCOUNTAの表裏の関係
COUNTBLANKとCOUNTA関数はセットで使うのが基本です。
=COUNTA(B2:B20) + COUNTBLANK(B2:B20)
この結果は必ず =ROWS(B2:B20) と一致します。COUNTA関数が「入っているセル」を数え、COUNTBLANK関数が「空のセル」を数えるので、足すと全セル数になります。
どちらか一方がわかれば、もう一方は引き算で求められます。
=ROWS(B2:B20) - COUNTA(B2:B20)
これはCOUNTBLANK(B2:B20)と同じ結果です。
COUNTBLANKとCOUNTIFの使い分け
「空白を数える」だけならCOUNTBLANK関数が最適です。条件を付けたい場合はCOUNTIF関数を使います。
空白セルの数: =COUNTBLANK(B2:B20)
"未提出"の数: =COUNTIF(B2:B20, "未提出")
空白 + 未提出の合計: =COUNTBLANK(B2:B20) + COUNTIF(B2:B20, "未提出")
実はCOUNTIF関数でも空白を数えられます。
=COUNTIF(B2:B20, "")
ただしCOUNTIF関数は数式結果が""のセルを空白として扱いません。COUNTBLANK関数は""も空白としてカウントします。この違いを覚えておくと使い分けに迷いません。
COUNTBLANKとISBLANKの違い
ISBLANK関数は個別のセルが空白かどうかをTRUE/FALSEで判定します。COUNTBLANKが「範囲全体の空白数」を数えるのに対し、ISBLANKは「1つのセルの空白判定」が役割です。
範囲の空白数: =COUNTBLANK(B2:B20)
1セルの空白判定: =ISBLANK(B2)
「このセルが空白なら警告を出す」という使い方にはISBLANK関数が適しています。
TIP
COUNT系5関数の詳しい比較はCOUNT・COUNTA・COUNTIF・COUNTIFSの違いと使い分け早見表で解説しています。Excel版の記事ですが、基本的な使い分けはスプレッドシートでも同じです。
Excelとの違い
COUNTBLANK関数はExcelとGoogleスプレッドシートで完全に同じ動作です。
| 項目 | Excel | Googleスプレッドシート |
|---|---|---|
| 構文 | =COUNTBLANK(範囲) | =COUNTBLANK(範囲) |
| 動作 | 空白セルの個数を返す | 空白セルの個数を返す |
"" の扱い | 空白としてカウント | 空白としてカウント |
| スペースの扱い | 空白ではない | 空白ではない |
| 引数 | 1つ | 1つ |
構文も動作も完全に同じです。ExcelとSheetsでファイルを共有しても、計算結果がずれることはありません。
唯一の違いはスペース混入時の対処法です。ExcelではCtrl+Hで置換しますが、Googleスプレッドシートでは「データクリーンアップ」機能も使えます。
まとめ
COUNTBLANK関数は、空白セルの個数を数えるシンプルで便利な関数です。
ポイントを整理します。
- 構文は
=COUNTBLANK(範囲)の1引数。空白セルの個数を返す - 数式の結果が
""のセルも空白としてカウントされる - スペースだけのセルは空白と判定されないので注意
- COUNTA関数と表裏の関係(足すと全セル数になる)
- 入力漏れチェック・進捗率計算・データ品質確認に活躍
- ExcelとGoogleスプレッドシートで完全に同じ動作
まずは =COUNTBLANK(B2:B20) で空白セルの数を確認するところから試してみてください。入力漏れがひと目でわかるようになりますよ。
