大量のデータからその個数を数えるのに役立つCOUNT関数。
その他、似たような関数にCOUNTA、COUNTIF、COUNTIFS、COUNTBLANK、COUNTUNIQEなどがあります。
それぞれの使い方と、どのような場面で役立つかを図解付きで解説いたします。
ここで解説する関数一覧
COUNT○○という関数には以下のような関数があります。
基本的に指定した範囲の個数を数える関数ですが、数える条件を指定できたり、数える値を何とするかで、使う関数が変わってきます。
関数名 | 概要 |
---|---|
COUNT | 指定した範囲の数値の個数を数える |
COUNTA | 指定した範囲の全ての値の個数を数える |
COUNTIF | 指定した範囲内で、指定した条件に合ったデータの個数を数える |
COUNTIFS | 指定した範囲内で、指定した複数の条件に合ったデータの個数を数える |
COUNTBLANK | 指定した範囲の空白の個数を数える |
COUNTUNIQE | 指定した範囲の一意な値の個数を数える |
それでは、それぞれの使い方を解説していきます。
COUNTとCOUNTAの使い方
前提として、このようなデータがあるとします。
この表のデータ件数(行数)を知るにはCOUNT関数かCOUNTA関数が有効です。
しかし、空白セルがある行や、数値や文字列と列によって入っている値や状態が異なります。
それぞれの関数がどのような値を表示するか試してみましょう。
それでは早速いくつかのセルにCOUNT関数とCOUNTA関数を仕掛けてみます。
それぞれの構文は以下の通りです。
=COUNT(範囲)
=COUNTA(範囲)
18行目にCOUNT関数、19行目にCOUNTA関数を仕掛けています。
例としてG列に仕掛けた関数は以下の通りです。
セルG18 → =COUNT(G2:G16)
セルG19 → =COUNTA(G2:G16)
COUNT関数は指定した範囲の数値の個数を数える関数です。
なので、「単価」や「在庫」のように数値が入っている列は、データが入っている個数をちゃんと数えていますが、その他の列は文字列なのでまったくカウントしていません。
一方、COUNTA関数は指定した範囲の全ての値の個数を数える関数です。
なので、数値だろうと文字列だろうと、全ての列で個数をカウントしています。
値が何であろうと指定した列の空白以外の個数を数えるときは、COUNTA関数の方が便利に見えますが、使うときの注意点があります。
G列に注目しましょう。
わかりやすいように、H列に数をカウントしていますが、値の入っているセルは11個です。
実は赤枠で囲んだセル(G15)に”スペース”を入力しています。
見た目では空白なのでわかりませんが、「空白という値」として認識されて数として数えてしまいます。
そのため、COUNTA関数の結果としては”12″となってしまいます。
COUNTA関数で空白以外の個数を調べたいときは、セルに何も入っていない状態じゃないと、思った通りの結果が出ないので注意してください。
COUNT関数は数値のみをカウントするので、セルに”空白”が入っていてもカウントしません。個数をカウントしたい列が数値だとわかっている場合はCOUNT関数を使った方が、余計なエラーが減ります。
COUNTBLANKの使い方
COUNTBLANKは、指定した範囲内の空白の個数をカウントする関数です。
先ほどと同じデータを使って解説します。
COUNTBLANKの構文は以下のとおりです。
=COUNTBLANK(範囲)
早速すべての列に関数を仕掛けてみましょう。
例として、セルG18には次のように関数を記述しています。
=COUNTBLANK(G2:G16)
結果として、F列G列には空白があるので、それぞれカウントされているのがわかります。
しかしG列は見た目には空白セルが4つあるのに、3とカウントされています。
実は、セルG15(赤枠のセル)に、”スペース”を入れています。
COUNTA関数と同じように、COUNTBLANK関数もセルが完全に空じゃないと、値があるとみなしてカウントしません。
最後に使いどころですが、COUNTBLANK関数は、次のような時に使うと便利だと思います。
- 未入力件数がわかるようにチェック用として
- 空白セルは「欠席」など、空白を知ることに意味がある場合
COUNTUNIQUEの使い方
COUNTUNIQUE関数は、指定した範囲の一意な値の個数をカウントする関数です。
先ほどとデータを使って解説します。
COUNTUNIQUE関数の構文は以下のとおりです。
=COUNTUNIQUE(範囲)
それでは早速関数を仕掛けてみます。
例として、セルG18には次のように関数を記述しています。
=COUNTUNIQUE(G2:G16)
一意な値をカウントしているので、全て重複しない値で設定している「商品コード」は、全件数をカウントしています。
また、G列に注目すると、3とカウントしています。
見た目には「出荷済み」「出荷不可」のみに見えますが、セルG15に”スペース”を入力しています。
つまり、「出荷済み」「出荷不可」「スペース」の3種類としてカウントしています。
COUNTA関数と同様、見えない値が入っていると、それも一意な値と判定されるので注意してください。
使いどころですが、C列のようなデータがあるときに役立ちます。
このデータでは「農園」ということで農園名がデータとして入っているのですが、COUNTUNIQUE関数を使うことで、何種類の農園があるのかすぐにわかるようになります。
このような同じ名称のデータが複数集まっている列から、一意な名称の数を求めるのに向いている関数ですね。
COUNTIFとCOUNTIFSの使い方
COUNTIF関数はIFが入っていることからわかるように、条件を指定できます。
指定した条件を満たした値の個数を数える関数です。
COUNTIFS関数はその複数形だと思ってください。
同じデータを使って、どのような動きをするか解説します。
COUNTIF関数の書式は以下のとおりです。
=COUNTIF(範囲,条件)
COUNTIFS関数の書式は以下のとおりです。
=COUNTIFS(条件1範囲,条件1,条件2範囲,条件2,・・・・・)
COUNTIF関数では、「範囲,条件」の順番で複数記述でき、複数の条件を満たしたときの個数をカウントします。
それぞれの関数を記述してみます。
セルF18,G18にCOUNTIF関数を、セルF19にCOUNTIFS関数を記述しました。
それぞれ、以下のように記述しています。
セルF18 → =COUNTIF(F2:F16,”>=3000″)
【説明】セルF2:F16の範囲(在庫の値)のなかで、3000以上の条件を満たすセルの個数をカウント
セルG18 → =COUNTIF(G2:G16,”=出荷済み”)
【説明】セルG2:G16の範囲(出荷有無)のなかで、”出荷済み”となっているセルの個数をカウント
セルF19 → =COUNTIF(F2:F16,”>=1500″,G2:G16,”=出荷済み”)
【説明】セルF2:F16の範囲(在庫の値)のなかで、1500以上の条件を満たし、かつ、セルG2:G16の範囲(出荷有無)のなかで、”出荷済み”となっているセルの個数をカウント
どちらの関数も、条件を書くときは ”(ダブルクォーテーション)で挟むのを忘れずに。
また、条件の部分は書き換えやすいように、セル参照をする書き方の方が使いやすいと思います。
例えば、セルI18に「>=1500」のように条件式を記入しておき、
COUNTIF関数を次のようにすると、セルI18の値を変えるだけで自動的に条件式が変わるようにできます。
セルF18 → =COUNTIF(F2:F16,I18)
こうすることで、関数を値を直すよりも扱いやすく、今どういう条件でカウントしているのかもわかりやすくなります。
まとめ
データ件数を調べたいときなどに、データ数が少ないとついつい目で見て数えてしまいたくなりますが、間違いの元になるのでなるべく避けたいところ。
データがどれだけ増えても、自動的に個数を計算するように、定位置にCOUNT系の関数を仕掛けておけば、手間がだいぶ省けます。
また、COUNTIF関数を使うことで、さまざまな条件で個数をカウントできるので、データを分析するときなどに役立つでしょう。
わりと多用する関数で、構文は簡単なので、数え方のルールをしっかり覚えて活用しましょう!
コメント