COUNTA関数で一見空白なのにカウントされてしまう。長さ0の文字列の罠!


人にエクセルを教える時に、数式中の""は空白だと説明しています。
実際には長さ0の文字列というのが正確なのですが、厳密な説明をしても???となっていまうだけなので、あえて空白だと言っていますが、COUNTA関数を使う時、この違いを正確に理解していないと、ドツボにはまってしまう事があるので注意して下さい。

COUNTA関数で空白が正しくカウントされない?その原因は?

COUNTA関数を使って、空白以外のセル個数を数えようとしても、下図のように、見た目は空白なのに、COUNTA関数で正しい(と思う)値が返ってこない場合があります。

excel005

あまり厳密な話をすると面倒臭く思われるので、人にエクセルを教える時には、数式中の""は空白だと説明していますが、厳密には長さ0の文字列なのです。IF関数でセルが空白かどうか判定する際には "" で良いのに、やっかいですね。

数式で長さ0の文字列を返している場合、見た目は空白でも、COUNTA関数では空白では無いと判定されます。

excel006

こちらは、数式バーにも何も表示されていませんが、長さ0の文字列をコピーしたため、こちらもCOUNTA関数では空白ではないと判定されてしまいます。

excel007

また、ゼロを非表示にしたものも、見た目は空白ですがセルの値は空白ではありませんのでCOUNTA関数を使う時に、つまづかなようにしましょう。

対応方法は?

  • まず数式ではなく値のみに変換する。(形式を選択して貼り付けで値に)
  • 長さ0の文字列をDELETEキーで消す

という事を行って下さい。動画の方も参照いただければ幸いです。

どうしても数式を値に変換できないのであれば、COUNTIF関数など別の方法を使ってカウントするようにします。

エクセルで時間をムダにしないためにも、は見た目とセルの値の違いを意識できるようなりましょう。

コメントは受け付けていません。

このページの先頭へ