Excel。空白セルを数えるのはCOUNTBLANK関数。では、空白でないセルを数えるには?
<COUNTIF関数 COUNTBLANK関数>
範囲内の空白セルを数えるには、「COUNTBLANK関数」を使うことで、簡単に算出することができますが、逆に、空白でないセルはどのようにして数えたらいいのでしょうか?
今回のケース。
シンプルに考えれば、難しいこともないのですが、ドツボにはまってしまうと、抜け出せなくなるというケースの一つといえます。
次の表を用意しました。
最初は、E2に、COUNTBLANK関数をつかって、B2:B10の範囲で、空白セルがいくつあるのかを算出してみます。
E2に次の数式を作ります。
=COUNTBLANK(B2:B10)
では、算出結果を確認しておきましょう。
「3」と算出されました。
COUNTBLANK関数を使うことで、簡単に空白セルの数を算出することができました。
それでは、この逆。空白セルでないセルはいくつあるのでしょうか?
空白以外のセルのデータが、「済」という文字だけだとしたら、「済」という文字がいつくあるのかを算出させるようにしてもいいのですが、今回は、色々な文字が含まれているデータです。
『空白ではない』というのは、どのように表現したらいいのかを考えてみましょう。
仮に、『空白である』という条件ならば、「=””」としてあげればいいわけですよね。
「=」(イコール)でない、比較演算子をつかえばいいわけです。その比較演算子は「<>」。
それでは、比較演算子の「<>」をつかって、E3にCOUNTIF関数で空白でないセルを算出していきましょう。
E3の数式です。
=COUNTIF(B2:B10,"<>")
ポイントは、比較演算子「<>」には、前後に「”(ダブルコーテーション)」で囲ってあげる必要があります。
結果を確認しておきましょう。
「6」と算出することができました。
ところが、問題が潜んでいます。
B4は空白ですが、次のような数式をB4に設定したらどうなるのでしょうか?
=IF(C4="","",1)
すると、空白以外の数が「7」になってしまいました。
E3の数式は、
=COUNTIF(B2:B10,"<>")
でしたが、この数式の欠点は、完全な空白でないと駄目ということです。
つまり、B4は、数式の算出結果が「空白」になっている。
この場合は、完全な空白ではないので、文字が入力されているのと同じ扱いになりますから、空白以外の数が増えてしまったわけです。
この現象は、COUNTA関数でも発生します。
COUNTBLANK関数の逆バージョンはありませんので、このようなデータの場合は、単純に、全体の件数から空白のセルを減算する方法が、わかりやすい気がします。
E3の数式を次のように修正してみます。
=COUNTA(A2:A10)-COUNTBLANK(B2:B10)
COUNTBLANK関数は、算出結果が空白でも、完全な空白でも、見た目「空白」ならば、空白として数えてくれます。
これで、算出することができました。
数える関数は色々Excelには用意されていますが、ケースバイケースで、使い分けたりする必要があるようですね。