【Excel】エクセルで空白以外をカウントする(countif関数・複数条件・ではないセルを数える)方法
エクセルでデータを集計する際、「空白以外のセルが何個あるか」を数えたい場面は非常に多くあります。
たとえば回答済みの件数を数えたい、入力が完了している行をカウントしたい、特定の条件を満たしつつ空白でないセルを集計したいといったニーズです。
エクセルにはCOUNTA関数・COUNTIF関数・COUNTIFS関数など、空白以外のセルをカウントするための関数が複数用意されています。
この記事では、エクセルで空白以外をカウントする方法を、COUNTA・COUNTIF・複数条件・ではないセルを数えるアプローチから詳しく解説していきます。
集計作業を効率化したい方は、ぜひ参考にしてください。
COUNTA関数で空白以外のセルをカウントする基本
それではまず、空白以外のセルをカウントする最もシンプルな関数であるCOUNTA関数について解説していきます。
COUNTA関数は覚えやすくどのバージョンでも使えるため、最初に身につけるべき関数です。
COUNTA関数の基本的な使い方
COUNTA関数は、指定した範囲の中で値が入っているセル(空白でないセル)の数を返す関数です。
=COUNTA(範囲)
例:=COUNTA(A1:A100) → A1からA100の中で空白でないセルの数を返す
例:=COUNTA(A:A) → A列全体で空白でないセルの数を返す
COUNTA関数は数値・文字列・日付・エラー値を含むあらゆる非空白セルを対象とするため、どんな種類のデータが混在していても正しくカウントします。
COUNTAとCOUNTの違いを理解する
COUNTAとよく混同されるCOUNT関数との違いを整理しておきましょう。
| 関数 | カウント対象 | 文字列 | 数値 | 空白 |
|---|---|---|---|---|
| COUNTA | 空白でないセルすべて | ○ | ○ | × |
| COUNT | 数値のみ | × | ○ | × |
| COUNTBLANK | 空白セルのみ | × | × | ○ |
文字列も含めてすべての非空白をカウントしたい場合はCOUNTA、数値だけをカウントしたい場合はCOUNTを使うという使い分けが基本です。
目的に応じて3つの関数を使い分けることがポイントです。
COUNTA関数の注意点(スペースや数式エラーへの対応)
COUNTA関数の注意点として、スペースだけが入力されたセルは「空白ではない」として数えられます。
見た目は空白に見えても実際にはスペースが入っているセルがある場合、カウント結果が予想より多くなることがあります。
また、数式の結果が””(空文字)の場合も「空白ではない」として扱われるため、空文字を返す数式セルもカウントに含まれてしまう点に注意が必要です。
COUNTIF関数で「空白ではない」セルをカウントする方法
続いては、COUNTIF関数を使って「空白ではない」セルをカウントする方法を確認していきます。
COUNTIF関数はカウントに条件を付けることができるため、より柔軟なカウントが可能です。
COUNTIF関数で空白以外をカウントする
COUNTIF関数の条件に「<>””」(空白ではない)を指定することで、空白以外のセルをカウントできます。
=COUNTIF(範囲, “<>”””)
例:=COUNTIF(A1:A100, “<>”””)
→ A1からA100の中で空白以外のセルの数を返す
<>は「等しくない」を意味する比較演算子で、””(空文字)と等しくないセル、つまり空白でないセルをカウントします。
COUNTA関数との違いとして、COUNTIF(<>””)は空文字を返す数式セルを空白として扱う点が異なります。
COUNTIF関数で特定の値を除いてカウントする
空白以外だけでなく、特定の値を除いてカウントしたい場合もCOUNTIF関数で対応できます。
=COUNTIF(A1:A100, “<>未入力”)
→「未入力」という文字列以外のセルの数をカウント
=COUNTIF(A1:A100, “<>0”)
→ 0以外の値が入ったセルの数をカウント
条件の柔軟さがCOUNTIFをCOUNTAより汎用的にしている最大の特徴です。
ワイルドカードを使った空白以外のカウント
文字列が入っているセルだけをカウントしたい場合は、ワイルドカード(*)を使います。
=COUNTIF(A1:A100, “*”)
→ 何らかの文字列が入っているセルの数をカウント(数値は含まない)
アスタリスク(*)は「任意の文字列」を意味するため、数値ではなく文字列だけをカウントしたい場合に使えます。
COUNTIFS関数で複数条件を使って空白以外をカウントする
続いては、COUNTIFS関数を使って複数の条件を組み合わせながら空白以外のセルをカウントする方法を確認していきます。
実務では単一条件だけでなく、複数条件が絡む集計が多く発生します。
COUNTIFS関数で空白以外かつ特定条件を満たすセルをカウントする
COUNTIFS関数を使うと、「空白以外」かつ「特定の値を含む」など複数の条件を組み合わせたカウントが可能です。
=COUNTIFS(A1:A100, “<>”””, B1:B100, “東京”)
→ A列が空白以外、かつB列が「東京」のセルの数をカウント
COUNTIFS関数は条件範囲・条件のペアを最大127組まで指定できるため、非常に複雑な条件の組み合わせにも対応できます。
空白以外かつ数値条件を組み合わせたカウント
空白以外でかつ特定の数値以上という条件でカウントする場合も、COUNTIFSで対応できます。
=COUNTIFS(A1:A100, “<>”””, B1:B100, “>=100”)
→ A列が空白以外、かつB列が100以上のセルの数をカウント
比較演算子(>・<・>=・<=)を条件に使うことで、数値の範囲と空白除外を同時に指定した精密な集計が実現します。
OR条件(どちらかを満たす)との組み合わせ
COUNTIFS単体ではOR条件(AまたはBを満たす)のカウントができません。
OR条件で集計したい場合は、複数のCOUNTIFSの結果を足し合わせる方法を使います。
=COUNTIFS(A1:A100,”<>”””,B1:B100,”東京”)+COUNTIFS(A1:A100,”<>”””,B1:B100,”大阪”)
→ 空白以外でかつ「東京」または「大阪」のセルをカウント
このように複数のCOUNTIFSを足し合わせることでOR条件に対応できます。
空白以外カウントの実務活用シーン
続いては、空白以外をカウントする関数の実務での活用シーンを確認していきます。
具体的な活用場面を知ることで、自分の業務への応用イメージが広がります。
アンケートの回答率・入力完了率の集計
アンケートデータで「回答済み(空白以外)の件数」と「全件数」からCOUNTAで回答率を自動計算できます。
回答率の計算例:
回答数:=COUNTA(A2:A101)
全件数:100
回答率:=COUNTA(A2:A101)/100 →「%」表示形式に設定
データが更新されるたびに回答率が自動更新される集計表が完成します。
進捗管理表での完了数・未入力数の集計
プロジェクトの進捗管理表で、ステータス列が空白以外(完了・対応中など何らかの値が入っている)の件数を集計することで、対応済み案件数を自動把握できます。
さらにCOUNTBLANK関数で空白のセル数(未入力数)も同時に集計することで、完了数と未対応数を並べたダッシュボードが作れます。
顧客データの属性別かつ入力済みの件数集計
顧客データで「東京エリアかつ電話番号が入力済みの件数」のような複合集計にはCOUNTIFSが最適です。
エリア・担当者・ステータスなど複数の条件を組み合わせた空白以外カウントは、COUNTIFS関数で一行の数式として表現できます。
空白以外をカウントする基本はCOUNTA関数で、条件を付けたい場合はCOUNTIF・COUNTIFS関数が適しています。
スペースや空文字を含むセルの扱いに違いがあるため、データの実態に合わせて関数を選ぶことが正確な集計のポイントです。
まとめ
この記事では、エクセルで空白以外をカウントする方法について、COUNTA・COUNTIF・COUNTIFS関数の使い方と実務活用シーンまで幅広く解説しました。
最もシンプルな方法はCOUNTA関数で、条件付きカウントにはCOUNTIF(<>””)が有効です。
複数条件を組み合わせる場合はCOUNTIFS関数が最適であり、OR条件はCOUNTIFSの加算で対応できます。
アンケート回答率・進捗管理・顧客データ集計など、実務での活用シーンは非常に幅広く、これらの関数をマスターするとデータ集計の効率が大幅にアップします。
空白以外のカウント関数を使いこなすことで、エクセルのデータ集計スキルが一段階向上するでしょう。