9/28/2019

Excel。初心者さんの落とし穴。COUNTA関数は、数式の結果が空白だと数えちゃう。【COUNT】

Excel。初心者さんの落とし穴。COUNTA関数は、数式の結果が空白だと数えちゃう。

<COUNT関数・COUNTA関数>

件数を算出する関数には、COUNT○○関数という、様々な関数が用意されています。

基本的には、どの件数を算出する関数も、わかりにくいことはないのですが、意外と落とし穴があるというか、気を付けないといけない関数があります。

それが、COUNTA関数です。

落とし穴を確認する前に、基本中の基本である、COUNT関数から確認しておきましょう。
次のような表があります。

B5には、何名いるのか確認したので、
=COUNT(B2:B4)
という数式を設定して算出しています。

COUNT関数は、オートSUMボタンにある、数値の個数を使うとCOUNT関数で算出します。

このCOUNT関数は、「範囲内の、数値が含まれるセルの個数を返します。」ということなので、数値の個数を算出する関数です。

よって、A2:A4を範囲選択してしまうと、件数は、0(ゼロ)を算出することになります。
なぜ、0(ゼロ)なのかというと、数値ではなくて文字だからです。

さて、事前に確認しておきますが、C2:C4には、得点が80点以上だったら○、そうでなければ空白を判断させるようにIF関数を使って算出しています。

C2の数式は、
=IF(B2>=80,"○","")
この数式はオートフィルを使って数式をコピーしています。

結果C4以外は80点以上なので、○が表示されています。

それでは、C7に80点以上の件数を算出したいので、COUNTIF関数で算出してもいいのですが、今回は、【落とし穴】を紹介したいので、C列の○の数を数えることで、80点以上の件数がわかるはずです。

そこで、先程は、数値を数える関数であるCOUNT関数をしようしましたが、今回は、空白でないセルの個数を数える、COUNTA関数を使うことで算出できるはずです。

C7をクリックして、COUNTA関数の数式を作成します。
=COUNTA(C2:C4)

算出した結果を確認すると「3」。おかしいですよね。範囲内の、空白でないセルの個数を返すはずです。「2」ではなく「3」と算出されています。

ここに、COUNTA関数の落とし穴があるのです。

市販のテキストなどにも、空白でないセルということを書いています。
間違えではないのですが、今回のような『数式の結果、空白の場合』は、数える対象になってしまいます。
イメージとしては、『空白という文字』が設定されている感じです。

なので、C4のIF関数を削除してみましょう。

数式を削除したことで、セルは空白になり、C7の結果は、「2」と変わったことが確認できます。

このように、日常的に使う関数でも、落とし穴があったりしますので、注意する必要があります。

また、このようなことから、ケースによって、使う関数が異なってくるわけです。

本来ならば、80点以上の件数を数えたいので、COUNTIF関数を使うといいですし、空白を数えたい場合は、COUNTBLANK関数が用意されていますので、ケースバイケースで関数を使っていくといいですね。