データの個数、つまりセルの個数を数えるCOUNT系関数にはいくつかの種類があります。
その中でもこのページでは、シンプルなカウントを行う、COUNTA、COUNT、COUNTBLANKの3種類について紹介します。
それぞれの特徴を正確に把握しておけば、単純なカウントは当然ながら、IF関数などの条件判定などにも利用できたり、便利なシーンがたくさんあると思います。
COUNT系関数の一覧
まずは該当するセルの個数をカウントできる関数について一覧にまとめます。
関数 | 特徴 |
---|---|
COUNTA | 範囲内で何らかの入力があるセルの個数を数える。 |
COUNT | 範囲内で数値セルの個数を数える。(数式による数値も対象) |
COUNTBLANK | 範囲内で表示が空白のセルの個数を数える。(数式による空白も対象) |
COUNTIF | 範囲内で条件に一致するセルの個数を数える。 |
COUNTIFS | 範囲内で複数条件に一致するセルの個数を数える。 |
COUNTIF・COUNTIFSについては別のページで紹介していますのでそちらをご参考ください。
COUNTA関数
前段にも記載したとおり、何らかの入力があるセルの個数を無差別にカウントします。
文字列だろうが、数値だろうが、数式だろうがすべてカウント対象です。
注意したいのは数式による空白セルも、数式が入っているということでカウントされます。
=COUNTA(セル範囲)
=COUNTA(セル範囲,セル範囲,…)
上記のとおり、複数の範囲を指定できます。その場合は「,」(カンマ)で区切って追加していきます。
なお、セル範囲は最大255個まで追加できます。
=COUNTA(A1:D10)
=COUNTA(A1:D10,A13:D15)
=COUNTA(A1,A3:B5,C6:D8,F1,F3)
COUNT関数
COUNTは数値のセルの個数をカウントします。
具体的にカウント対象となるのは次のとおりです。
- 数値セル(文字列扱いのものを除く)
- 数式で算出された数値セル(文字列扱いのものを除く)
要するに、足し引きしてもエラーにならない数値の入ったセルの個数です。
=COUNT(セル範囲)
=COUNT(セル範囲,セル範囲,…)
こちらもCOUNTA同様、複数の範囲を指定できます。セル範囲の追加方法も同じです。
セル範囲の最大数も255個までで同じです。
=COUNT(A1:D10)
=COUNT(A1:D10,A13:D15)
=COUNT(A1,A3:B5,C6:D8,F1,F3)
COUNTBLANK関数
COUNTBLANKは範囲内の空白セルの個数をカウントします。
カウント対象となるのは次のとおりです。
- 何も入力されていないセル
- 数式の結果が空白(””)だったセル
ポイントは、数式が入ったセルでも、表示が空白であればカウント対象です。
つまり、数式の入力されたセル範囲で、「何らかの表示のあるセル」と「表示のないセル」を区分してカウントすることができます。
先に紹介したCOUNTAは数式による空欄を無視できずにカウントされてしまいますが、COUNTBLANKをうまく活用することで、すべて数式の入力されたセル範囲から何らかの値が表示されているセルの個数を割り出すことができるのです。
=COUNTBLANK(セル範囲)
=COUNTBLANK(セル範囲)+COUNTBLANK(セル範囲)+COUNTBLANK(セル範囲)
COUNTBLANKは、COUNTAやCOUNTと違って、セル範囲を1つしか指定できません。
複数の範囲を指定した場合はCOUNTBLANKを+(ブラス)でつないでいくことになります。
=COUNTBLANK(A1:D10)
=COUNTBLANK(A1:D10)+COUNTBLANK(A13:D15)
サンプル表での挙動確認
この表は社員ごとの売上実績の5%を給料に上乗せすることを仮定した上乗せ額の計算表です。
D列には各社員から報告のあった月間売上を入力し、未報告の社員のセルには「報告待ち」としています。
そして、E列では売上額の報告済み社員にのみ5%の上乗せ額を計上し、それ以外の行は空白セルにするよう数式を入力しています。(数式の入力範囲はE4:E13)
表の列ごとの各関数のカウント結果が表の下部分に出ています。
これまでに紹介したとおりですが、次のようになっているのがわかると思います。
- COUNTAでは「何らかの表示があるセル」だけでなく、「数式で空白を表示しているセル」もカウントする。
- COUNTでは「数値セルのみ」カウントする。
- COUNTBLANKでは「未入力セル」と「数式で空白を表示しているセル」、つまり「何も値の表示がないセル」をカウントする。
冒頭にも記載したとおり、これらの特徴を把握しておけば、意図しない結果を避けることができますし、他の関数と組み合わせてより便利に使用できると思います。
どうぞご参考ください。
コメント