COUNTBLANK(空白セルの個数)
指定された範囲に含まれる空白セルの個数を返します。
COUNTBLANK関数の書式
範囲
空白文字列 ("") を返す数式が入力されているセルも計算の対象となります。
ただし、数値の 0 を含むセルは計算の対象となりません。
COUNTA関数で数えたセルの個数から、空白文字列 ("") を返す数式が入力されているセルの個数を除きたい場合になります。
CAUNTA関数では、空白文字列 ("") を返す数式が入力されているセルの個数が含まれてしまうからです。
=COUNTIF(範囲,"")
このように指定した結果と同値になります。
COUNTBLANK関数の使用例
B列には、
=IF(OR(A1="リンゴ",A1="バナナ"),A1,"")
この数式が入っています。
また、行数は不定なので、何行あるか分からないとして話を進めます。
A列 | B列 |
ABC | |
123 | |
リンゴ | リンゴ |
234 | |
キャベツ | |
バナナ | バナナ |
345 | |
ニンジン |
上に掲載した範囲なら、2個が答えになります。
この2をどのように取得するかという問題です・・・
そこで、COUNT系の関数を試してみると、
=COUNTA(B:B) ・・・ 8
=COUNTBLANK(B:B) ・・・ 1048574
=ROWS(A:A)-COUNTBLANK(B:B) ・・・ 2
簡単に求めるなら、これが一番簡単かもしれません。
ROWS(範囲)
=COUNTA(B:B)-COUNTBLANK(OFFSET(B1,0,0,COUNTA(B:B),1))
データの入っている範囲をOFFSET関数で作成して・・・
ほとんどの場合は、これで取得できますが、
データが歯抜けになっている場合は、これでは正しく取得できません。
苦労した割には結局使えない・・・という事になります。
=COUNTIF(B:B,"?*")
または、
=COUNTIF(B:B,">= ") ・・・ =の後ろに半角スペースが入っています。
これで結果が2になります。
=IF(B1="",0,1)
このように追加して、
A列 | B列 | C列 |
ABC | 0 | |
123 | 0 | |
リンゴ | リンゴ | 1 |
234 | 0 | |
キャベツ | 0 | |
バナナ | バナナ | 1 |
345 | 0 | |
ニンジン | 0 |
これであれば、C列をSUM関数だけで求められますし、わかり易いのでないでしょうか。
上記のように、難しい関数を使うまでもなく、別セルで判定を入れる事で簡単に求められるものです。
これが数値の入っているセルの個数なら、単純にCOUNT関数ですんでしまいます。
COUNTBLANK関数は、使う上で非常に注意が必要な関数です。
COUNTBLANK関数を使おうと思ったら、その前に代替え手段を検討することをお勧めします。
ほとんどの場合、単純な判定で解決するはずです。
以下も参考にしてください。
ワークシート関数の一覧(2010以降)
同じテーマ「エクセル入門」の記事
EOMONTH関数(月数だけ前後の月の最終日)
WEEKDAY関数(曜日に変換)
WEEKNUM関数(その年の何週目)
COUNTBLANK(空白セルの個数)
AVERAGE関数(引数の平均値)
AVERAGEIF関数(検索条件に一致する平均値)
SUMPRODUCT関数(配列の対応する要素の積の合計)
IFERROR関数(エラーの場合は指定値、以外の場合は数式)
作業セル、計算セル
SUMIFS関数、COUNTIFS関数.AVERAGEIFS関数(複数条件)
MOD関数(除算したときの剰余)
新着記事NEW ・・・新着記事一覧を見る
第5章:AI×VBAでつまづかない!トラブルシューティングとAIとの付き合い方
|生成AI活用研究(2025-05-20)
第4章:【事例で学ぶ】AIとVBAでExcel作業を劇的に効率化する!
|生成AI活用研究(2025-05-20)
第3章:AIを「自分だけのVBA先生」にする!質問・相談の超実践テクニック|生成AI活用研究(2025-05-19)
第2章 VBAって怖くない!Excelを「言葉で動かす」(超入門)|生成AI活用研究(2025-05-18)
第1章:AIって一体何?あなたのExcel作業をどう変える?(AI超基本)|生成AI活用研究(2025-05-18)
AI時代のExcel革命:AI×VBAで“書かない自動化”超入門|生成AI活用研究(2025-05-17)
Geminiと100本ノック 23本目:シート構成の一致確認|生成AI活用研究(5月16日)
AIが問う出版の未来は淘汰か進化か:AIと書籍の共存の道とは|生成AI活用研究(2025-05-16)
Geminiと100本ノック 22本目:FizzBuzz発展問題|生成AI活用研究(5月15日)
すぐに使える!生成AI プロンプト作成 実践ガイド|生成AI活用研究(2025-05-15)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.繰り返し処理(For Next)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.ひらがな⇔カタカナの変換|エクセル基本操作
6.RangeとCellsの使い方|VBA入門
7.メッセージボックス(MsgBox関数)|VBA入門
8.セルのクリア(Clear,ClearContents)|VBA入門
9.FILTER関数(範囲をフィルター処理)|エクセル入門
10.条件分岐(Select Case)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。