Excel/スプレッドシートには「COUNTA」という空白以外のデータの個数を数える関数が備わっています。しかし、COUNTA関数では数式の結果が空白である場合はカウントされてしまいます。
そこでCOUNTF関数の出番です。この記事ではCOUNTIF関数で空白以外のデータを(数式により空白が表示されている場合も空白と認定して)カウントする方法を解説します。
COUNTIF関数で空白以外のデータをカウントする方法
以下のようなスプレッドシートを仮定します。5つのセルのうち空白は2つあります。空白のうち1は「=””」という式の結果です。したがって空白セルの個数は「3」と取得できればOKです。
まず、空白以外をカウントするCOUNTA関数で数えた結果を見てみましょう。
検索範囲はB6~B10なので以下のように設定します。
=COUNTA(B6:B10)
これでは「4」と表示されてしまいます。数式がカウントされてしまっているからですね。
空白をカウントする「COUNTIF(B6:B10,””)」を利用して以下のような式にすれば正しい結果「3」を取得することができます。
=ROWS(B6:B10)-COUNTIF(B6:B10,"")
ROWS関数でいったん全てのセル数をカウントしておき、そこから空白セルに該当するものを除いています。
これで空白以外のデータを(数式により空白が表示されている場合も空白と認定して)カウントすることができました。
補足:演算子だとカウントできない場合がある
尚、COUNTIFで以下のように演算子で空白以外を条件とすればよいのでは?と思う方もいらっしゃるかもしれません。
=COUNTIF(B6:B10, "<>" & "")
しかしやはり「4」とカウントされてしまい、数式の結果が空白として認識されないので注意しましょう。
文字列として条件設定するか、数値条件で設定するかで空白の認識が異なるようです。
以上、COUNTIF関数で空白以外のデータをカウントする方法でした。COUNTA関数で思うような結果にならない方はぜひ、試してみてください。
コメント