Excelで「空白ではないセルがいくつあるか」を数えたいときは、COUNTIF関数の条件に "<>" を指定します。提出物の提出状況や出欠の記入済みの数など、「入力済みの件数」を知りたい場面でよく使います。
この記事では、基本の式の書き方を図で説明したうえで、「数えたはずなのに数が合わない」ときの原因と対処法まで解説します。
=COUNTIF(B2:B7,"<>")
これだけで、B2からB7のうち、何か入力されているセルの数が求められます。
COUNTIFで空白以外を数える基本の式
下の表は、提出物の提出日を記録したものです。提出日が入っている人数を、D3のセルに表示します。

式の意味
COUNTIF関数は「範囲」と「条件」の2つを指定して、条件に合うセルの数を数える関数です。
- ① 範囲(B2:B7):数えたいセルの範囲です。この例では「提出日」の列を選んでいます。
- ② 条件(”<>”):「<>」は「〜ではない」という意味です。「何も入っていないセルではない」、つまり空白以外を数えます。
条件はダブルクォーテーション「”」で囲み、「<」「>」も含めてすべて半角で入力してください。全角で入力すると、正しく数えられません。
入力の手順
- 結果を表示したいセル(例:D3)をクリックします。
- 「=COUNTIF(」と入力します。
- 数えたい範囲(例:B2:B7)をドラッグして選び、続けて「,」(カンマ)を入力します。
- 「”<>”」と入力し、「)」で閉じて Enter キーを押します。
図の例では、提出日が入っている4人分が数えられ、「4」と表示されます。
数が合わないときの原因と対処法
COUNTIFで空白以外を数えたのに、見た目の件数より多くなってしまうことがあります。原因は、見た目は空白でも、Excelが「空白ではない」と判断しているセルが混ざっていることです。

原因1:スペースだけが入っているセル
セルに半角や全角のスペースだけが入っていると、見た目は空白でも、Excelは「文字が入っている」と判断します。ほかのデータをコピーして貼り付けたときや、入力を消したつもりでスペースが残ったときに起こりやすい現象です。
原因2:数式の結果が空(””)のセル
たとえば =IF(C5="","",C5) のように、「条件に合わなければ空にする」数式が入っているセルは、画面上は空白に見えても、数式が入っているため「空白ではない」ものとして数えられます。
対処法:SUMPRODUCT関数とTRIM関数を使う
スペースや数式の空欄を除いて、見た目どおりの件数を数えたいときは、次の式を使います。
=SUMPRODUCT(--(TRIM(B2:B7)<>""))
TRIM(B2:B7):セルの前後にある余分な半角スペースを取り除きます。<>"":結果が「空ではない」かどうかを、TRUEかFALSEで判定します。--:TRUEを1、FALSEを0に変換します。SUMPRODUCT:変換した1と0を合計します。
TRIM関数が取り除くのは半角スペースだけです。全角スペースが混ざっている可能性があるときは、次のように全角スペースを半角スペースに置き換えてから判定します。
=SUMPRODUCT(--(TRIM(SUBSTITUTE(B2:B7," "," "))<>""))
また、数えたいセルが文字(テキスト)だけなら、=COUNTIF(B2:B7,"?*") という書き方もあります。「1文字以上の文字」にだけ一致するため、数式の空欄は数えません。ただし、数値や日付は数えられないので、提出日のように日付が入る列には向きません。
COUNTA・COUNTBLANKとの違い
空白に関する数え方には、COUNTIF以外にもCOUNTA関数とCOUNTBLANK関数があります。目的に合わせて選びましょう。
| 関数 | 数えるもの | 向いている場面 |
|---|---|---|
=COUNTIF(範囲,"<>") | 空白以外のセル | ほかの条件と組み合わせたいとき(COUNTIFSに広げやすい) |
=COUNTA(範囲) | 空白以外のセル | 空白以外を数えるだけで、条件が不要なとき |
=COUNTBLANK(範囲) | 空白のセル | 未入力の件数を数えたいとき |
なお、COUNTAもスペースだけのセルや数式の空欄を「空白ではない」と数えるため、数が合わなくなる点はCOUNTIFと同じです。
空白のセルだけを数えたいとき
未入力のセルを数えたいときは、COUNTBLANK関数を使うのが簡単です。
=COUNTBLANK(B2:B7)
最初の図の表なら、未入力は鈴木さんと伊藤さんの2人なので「2」になります。=COUNTIF(B2:B7,"") でも同じように数えられます。どちらも、数式の結果が空(””)のセルは「空白」として数える点に注意してください。
ほかの条件と組み合わせる(COUNTIFS)
「提出日が入っていて、かつ1組の人数」のように、条件を2つ以上にしたいときは、COUNTIFS関数を使います。C列にクラスが入力されているとすると、次の式になります。
=COUNTIFS(B2:B7,"<>",C2:C7,"1組")
範囲と条件を、組にして続けて書くのがポイントです。「B2:B7が空白以外」かつ「C2:C7が1組」を満たすセルの数が求められます。
よくある質問
Googleスプレッドシートでも使えますか?
はい。=COUNTIF(B2:B7,"<>") という基本の書き方は、Googleスプレッドシートでも同じです。
「”<>”」のダブルクォーテーションを付け忘れるとどうなりますか?
=COUNTIF(B2:B7,<>) のように囲まずに入力すると、数式にエラーがあるというメッセージが表示され、確定できません。条件の「<>」は、必ず「”」で囲んで入力してください。
結果が「0」になってしまいます。
範囲の選び間違いがないか、確認してみましょう。範囲が空のセルだけになっていると、0になります。式は合っているのに数が少ないときは、範囲がデータの最後の行まで届いているかを見直してください。
まとめ
- COUNTIFで空白以外を数えるときは、条件に
"<>"を指定します。 - 式は
=COUNTIF(範囲,"<>")です。「”」も「<>」も半角で入力します。 - スペースだけのセルや、数式の結果が空のセルは「空白ではない」と数えられるため、見た目と数が合わなくなることがあります。
- 見た目どおりの件数を数えたいときは、
=SUMPRODUCT(--(TRIM(範囲)<>""))を使います。 - 未入力を数えたいときは COUNTBLANK 関数、複数の条件を組み合わせたいときは COUNTIFS 関数が便利です。

コメント