COUNTIF関数で空白以外のセルをカウントする方法|数式

ここでは、COUNTIF関数を使って「空白以外」をカウントする方法を解説します。

 

COUNTIF関数で「空白以外」をどう指定するのか、そしてCOUNTIF関数だけでは見た目とズレてしまうので、見た目とあうカウントの仕方の説明です。

1.まずはやりたいことを確認

まずは、やりたいことを例を含めて確認します。

 

1-1.COUNTIF関数で「空白以外」をカウントしたい

やりたいことは、「COUNTIF関数で『空白以外』をカウントする」です。

 

言い換えると、「何か値の入っているセルを数える数式を作る」です。

 

これによって、「入力の終わった数」などを確認することができます。

 

1-2.例を確認

一つ例を見てみましょう。

上の例は、「セルD2で『B列の空白以外のセルの数』をカウント」したものです。◎でも△でも×でも、なにかセルに入っていれば「数えます。

 

ちなみに、「セルB2~B4」の中で「空白以外」は3つなので、セルD2には「3」と表示されています。

2.COUNTIF関数で数える時の注意点

COUNTIF関数で「空白以外」をカウントする際には、覚えておきたいことがあります。

 

注意点と例を見てみます。

 

2-1.「見た目空白」は「空白以外」とカウントされる

COUNTIF関数で「空白以外」をカウントする時は、「『見た目空白』は『空白以外』とカウントされる」ことに注意が必要です。

 

「見た目空白」とは、「見た目は空白でもセルに値が入っている」状態のことです。

 

「見た目空白」となるケースは、次の通りです。

「見た目空白」になるケース
  • スペース:「半角スペース」や「全角スペース」
  • 数式:IF関数の空白処理など、数式での空白

まず、分かりやすいのは「スペース」です。見た目は空白ですが、セルには「スペース」が入力されています。

 

また、「数式での空白」も同様です。例えばIF関数での空白処理は、見た目空白でもセルにはIF関数の数式が入っています。

 

2-2.「見た目空白」の例

「見た目空白」の例をひとつ見てみます。

先程の例で、「セルB3に『=""(イコール空白)』を入れた」状態です。これにより、セルB3は「数式によって空白」となります。

 

すると、COUNTIF関数で空白以外の数をカウントした「セルD2の値」は「4」と変わります。

 

このように、COUNTIF関数は「見た目」ではなく「入力値」で判定していることを知っておく必要があります。

 

2-3.「数式での空白を除く」場合は数式が変わる

「数式での空白」は除く、「空白」としたい場合は、COUNTIF関数以外の関数を使う必要があります。

 

この方法も、この後説明します。

3.COUNTIF関数で「空白以外」を数えるには

では、COUNTIF関数で「空白以外」を数える方法を見てみます。

 

3-1.数式の形

数式の形は、次の通りです。

=COUNTIF(範囲,"<>")

「範囲」に「空白以外をカウントしたい範囲」を指定します。

 

なお、「<>」は必ず「半角」で入力してください。全角で入れると正しくカウントされません。

3-2.数式の作り方

次に、数式の作り方を確認します。

 

以下手順です。

 

(1)以下の数式をコピーし、セルに貼り付ける

【コピーする数式】

=COUNTIF(範囲,"<>")

 

(2)「範囲」の文字を消し、「空白以外をカウントしたい範囲」を入れる

 

(3)Enterキーを押せば完了

なお、数式は同じ形になれば「手入力」でももちろん大丈夫です。

4.「数式での空白」は除きたいなら

次に、「数式での空白」は「空白以外から除きたい(『空白』としたい)」場合の数式を見てみます。

 

4-1.数式の形

数式の形は、次の通りです。

=SUMPRODUCT((範囲,<>"")*1)

「数式での空白」を空白として扱いたい場合には、COUNT関数ではなく「SUMPRODUCT関数」を使います。

 

なお、「範囲」には「『空白以外』をカウントしたい範囲」をしています。

 

また、「<>」を半角にするのはCOUNTIF関数と同じで必須です。

 

4-2.例を確認

一つ例を見てみましょう。

先程の例で、セルB3に「=""」と入れています。

 

しかし、セルD2にSUMPRODUCT関数を使って「空白以外のカウント」をすると、「3」と正しく返ってきます。

 

このように、SUMPRODUCT関数は「数式での空白」を「空白」と扱います。

 

4-3.数式の作り方

次に、数式の作り方ですが、先程と同じように、「数式をセルに貼り付ける」→「範囲を指定する」でOKです。

【コピーする数式】

=SUMPRODUCT((範囲<>")*1)

なお、数式は同じ形になれば「手入力」でももちろん大丈夫です。

5.【おまけ】「スペースのみ」も空白としたい場合

最後に、「数式での空白」の他に「スペースのみ」も空白としたい場合の数式についてです。

 

数式が長いですが、次の形になります。

【コピーする数式】

=SUMPRODUCT((範囲<>"")*1)-SUMPRODUCT((TRIM("a"&(範囲)&"a")="a a")*1+(TRIM("a"&(範囲)&"a")="a a")*1)

「範囲」が3ヶ所ありますが、どれも同じ「空白以外をカウントしたい範囲」を入れます。

これで、半角・全角のスペースのみがどれだけ入っていても、見た目と同じく「空白」として扱われます。

 

以上、参考になれば幸いです。


口コミ・評判のいいExcel本の紹介】


Top