Excel。改めて数える関数の落とし穴を確認しておきましょう
【COUNT・COUNTA・COUNTBLANK・COUNTIF関数】
Excelに慣れていない方が、最初の頃に戸惑うものに【数える】という作業があるそうでして、
関数もいろいろな種類があるし、その関数を使ってみたものの、
算出された結果が異なっているケースもあったりして、
様々なトラブルケースが潜んでいるので、
確かに戸惑われる要因はあるようです。
今回は、基本的な【数える】ことに関して、改めて確認してみましょう。
次の表があります。
A列は通し番号が入力されています。
B列は氏名が入力されています。
C列には得点が入力されています。
D列には、得点の結果が80以上ならば○を表示するように
IF関数が設定されています。
D2の数式は、
=IF(C2>=80,"○","")
【COUNT関数は数値を数える】
B13に参加人数を算出するところから確認していきましょう。ここに最初のトラブル要因がありますね。
数える関数で一番簡単に使うことが出来るのは、
∑(オートSUMボタン)にある、「数値の個数」ですので、
これを使って算出してみます。
そこで、範囲なのですが、多くの方は、人数を数えるときに、
氏名のB列を使って数えるようですが、その氏名を使って算出してみると、
結果は0(ゼロ)と算出されます。
なぜ0(ゼロ)になってしまうのかというと、
∑(オートSUM)にある「数値の個数」はあくまでも、
数値しか数える対象ではないので、”文字”のセルは数えてくれません。
このようなケースの場合は2つ対応方法があって、
一つは、A列を使って算出させる方法
この場合は、数値なので数えることが出来ます。
二つめは、COUNT関数ではなくて、COUNTA関数を使う方法です。
COUNTA関数を関数挿入ダイアログボックスから挿入するのは面倒ですので、
「数値の個数」で作成された数式の、
COUNTのTのあとに”A”を追加してあげるだけでOKですね。
数式は、
=COUNTA(B2:B11)
これで10と算出されました。
ここで実務的なポイントですが、このような帳票の時でも、
必ず通し番号の列を作ってあげることで、
「数値の個数」(COUNT関数)を使うことが出来ますので、
容易に算出することが可能になります。
【COUNTA関数は空白以外を数えるわけでは無い】
次に、B14に80点以上の人数を数えた結果を算出させます。つまり、D列の○の個数を数えればいいわけですね。
そこで、文字(空白以外)を数えることができる、
先程登場した、COUNTA関数を使って算出してみると、どうなるでしょうか?
結果は10と表示されてしまいました。
ここのポイントは、使用したCOUNTA関数は、
空白以外を数えてくれる関数ではなくて、
文字・数値及び数式の結果を含めたセルを数えてくれる関数なのです。
COUNTA関数を書いているテキストの多くは、初心者向けのものが多く、
IF関数の紹介の前にCOUNTA関数を紹介する関係上、
数式の結果については、あまり触れていないことが多いので、
実務では注意しないとこのような結果になってしまいます。
今回は、
IF関数を使った数式の結果である”空白”も数えてしまったというわけです。
そこで、このようなケースで登場するのが、COUNTIF関数です。
では、B14にCOUNTIF関数を作っていきましょう。
COUNTIF関数ダイアログボックスを表示しましょう。
範囲には、D2:D11
検索条件には、"○"
あとは、OKボタンをクリックしましょう。
3と算出されましたね。
数式は、
=COUNTIF(D2:D11,"○")
ついでなので、空白を数えるCOUNTBLANK関数もご紹介しておきましょう。
C14にCOUNTBLANK関数ダイアログボックスを表示しましょう。
範囲には、D2:D11
OKボタンをクリックしてみましょう。
7と算出されましたね。
数式は、
=COUNTBLANK(D2:D11)
このように、数えるだけでも、
色々なケースで関数を使い分ける必要がありますので、
慣れていない方は少しずつ、なれるようにしていきましょう。