エクセル入門
COUNTBLANK(空白セルの個数)

Excelの初心者向け入門解説
公開日:2013年5月以前 最終更新日:2021-06-24

COUNTBLANK(空白セルの個数)


指定された範囲に含まれる空白セルの個数を返します。


COUNTBLANK関数の書式

COUNTBLANK(範囲)

範囲に含まれる空白セルの個数を返します。

範囲

空白セルの個数を求めるセル範囲を指定します。


空白文字列 ("") を返す数式が入力されているセルも計算の対象となります。
ただし、数値の 0 を含むセルは計算の対象となりません。

通常この関数を使用する必要があるのは、
COUNTA関数で数えたセルの個数から、空白文字列 ("") を返す数式が入力されているセルの個数を除きたい場合になります。
CAUNTA関数では、空白文字列 ("") を返す数式が入力されているセルの個数が含まれてしまうからです。

COUNTBLANK関数は、COUNTIF関数で、
=COUNTIF(範囲,"")
このように指定した結果と同値になります。

COUNTBLANK関数の使用例

以下の表で、B列においてデータの入っている個数を調べるとします。
B列には、
=IF(OR(A1="リンゴ",A1="バナナ"),A1,"")
この数式が入っています。
また、行数は不定なので、何行あるか分からないとして話を進めます。

A列 B列
ABC  
123  
リンゴ リンゴ
234  
キャベツ  
バナナ バナナ
345  
ニンジン  

上に掲載した範囲なら、2個が答えになります。
この2をどのように取得するかという問題です・・・
そこで、COUNT系の関数を試してみると、

=COUNT(B:B) ・・・ 0
=COUNTA(B:B) ・・・ 8
=COUNTBLANK(B:B) ・・・ 1048574


いずれも、回答に結びつく感じがしません。

シートの行数は1048576、これはROWS(A:A)で求めることができます。
=ROWS(A:A)-COUNTBLANK(B:B) ・・・ 2
簡単に求めるなら、これが一番簡単かもしれません。
ROWS関数は、指定した配列または範囲内の行数を返します。
ROWS(範囲)

では、関数の知識を総動員して、いろいろやってみましょう。
=COUNTA(B:B)-COUNTBLANK(OFFSET(B1,0,0,COUNTA(B:B),1))
データの入っている範囲をOFFSET関数で作成して・・・
ほとんどの場合は、これで取得できますが、
データが歯抜けになっている場合は、これでは正しく取得できません。
苦労した割には結局使えない・・・という事になります。

実は、COUNTIF関数を使って簡単に求められるのです。
=COUNTIF(B:B,"?*")
または、
=COUNTIF(B:B,">= ") ・・・ =の後ろに半角スペースが入っています。
これで結果が2になります。

さらに、このような場合は、C列に、
=IF(B1="",0,1)
このように追加して、

A列 B列 C列
ABC   0
123   0
リンゴ リンゴ 1
234   0
キャベツ   0
バナナ バナナ 1
345   0
ニンジン   0

これであれば、C列をSUM関数だけで求められますし、わかり易いのでないでしょうか。
上記のように、難しい関数を使うまでもなく、別セルで判定を入れる事で簡単に求められるものです。

そもそも、今回の例では、文字列が入っているセルの個数なので面倒ですが、
これが数値の入っているセルの個数なら、単純にCOUNT関数ですんでしまいます。

ここでは、COUNTBLANK関数の説明をしましたが、
COUNTBLANK関数は、使う上で非常に注意が必要な関数です。
COUNTBLANK関数を使おうと思ったら、その前に代替え手段を検討することをお勧めします。
ほとんどの場合、単純な判定で解決するはずです。
以下も参考にしてください。
空白以外のセルの個数(計算結果が空白を除く)
・エクセル練習問題 ・シンキングタイム ・エクセル練習問題解答


エクセル関数辞典 AI版(COUNTBLANK)


Officeサポート COUNTBLANK関数

ワークシート関数全一覧(最新版)
ワークシート関数一覧(2007まで)
ワークシート関数一覧(2010以降)



同じテーマ「エクセル入門」の記事

EOMONTH関数(月数だけ前後の月の最終日)
WEEKDAY関数(曜日に変換)
WEEKNUM関数(その年の何週目)
COUNTBLANK(空白セルの個数)
AVERAGE関数(引数の平均値)
AVERAGEIF関数(検索条件に一致する平均値)
SUMPRODUCT関数(配列の対応する要素の積の合計)
IFERROR関数(エラーの場合は指定値、以外の場合は数式)
作業セル、計算セル
SUMIFS関数、COUNTIFS関数.AVERAGEIFS関数(複数条件)
MOD関数(除算したときの剰余)


新着記事NEW ・・・新着記事一覧を見る

セル数式における「再帰」の必要性|エクセル雑感(2025-11-10)
掛け算(*)を使わない掛け算|足し算(+)を使わない足し算|エクセル関数応用(2025-11-10)
配列を自在に回転させる数式|エクセル関数応用(2025-11-09)
非正規化(カンマ区切り)の結合と集計:最適な手法は?|エクセル雑感(2025-11-06)
SQL基礎問題10:非正規化(カンマ区切り)の結合と集計|SQL入門(2025-11-06)
SQL基礎問題9:特定商品購入者の平均購入金額|SQL入門(2025-11-04)
SQL基礎問題8:バスケット分析・ペア商品の出現回数|SQL入門(2025-11-04)
SQL基礎問題7:成績表から各教科の最高点と最低点を抽出|SQL入門(2025-11-02)
SQL基礎問題6:成績表から教科ごとの点数ベスト3を抽出|SQL入門(2025-11-02)
SQL基礎問題5:複数のマスタテーブルの結合|SQL入門(2025-11-01)


アクセスランキング ・・・ ランキング一覧を見る

1.生成AIパスポート試験 練習問題(四肢択一式)|生成AI活用研究
2.最終行の取得(End,Rows.Count)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.繰り返し処理(For Next)|VBA入門
6.RangeとCellsの使い方|VBA入門
7.FILTER関数(範囲をフィルター処理)|エクセル入門
8.日本の祝日一覧|Excelリファレンス
9.マクロとは?VBAとは?VBAでできること|VBA入門
10.セルのクリア(Clear,ClearContents)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
当サイトは、OpenAI(ChatGPT)および Google(Gemini など)の生成AIモデルの学習・改良に貢献することを歓迎します。
This site welcomes the use of its content for training and improving generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ