この記事では、様々な条件で数を数える方法を紹介します。集計の基本は数を数えることですが、Excelには数を数えるための関数がいくつかあります。今回は、COUNTA関数、COUNT関数、COUNTIF関数、COUNTIFS関数の4つを使って様々な条件で数を数えていきます。条件の指定の仕方は他のSUMIF関数やAVERAGEIF関数にも活用できるので、是非参考にしてみてください。
今回はこのような期末テストの点数のデータに基づき、様々な条件で人数を数えていきます。

様々な条件で数を数える方法
全体の人数を数える
まず、全体の人数ですが、これはCOUNTA関数を使用します。COUNTA関数は文字列などを含むデータが入力されているセルの数をすべて数えます。
COUNTA(値1, [値2], …) |
---|
指定したセル範囲、値から空白ではないセルの数を数える。 |
COUNTAと入力し、氏名の列を選択します。
=COUNTA(A3:A22)

そうすると、氏名が入力されているセルをカウントし、20という結果が出ます。

テストの点数が記録されている人を数える
次に「テストの点数が記録されている人」という条件でカウントします。人によってはテストを受験しておらず点数が記録されていない場合があります。そのような人を除外して数えるにはCOUNT関数を使用します。COUNT関数は数値が入力されているセルを数える関数です。
COUNT(値1, [値2], …) |
---|
指定したセル範囲、値から数値が入力されているセルの数を数える。 |
COUNTと入力し、点数の列を選択します。なお、点数は、書式を設定し、「~点」となっていますが、数値データとして入力しています。
=COUNT(C3:C22)

そうすると、数値として点数が入力されているセルだけを数え、19という結果が出ます。「-(ハイフン)」と記載されているセルは除外されます。

組が5組の人を数える
次に、「組が5組」という条件でカウントします。特定の条件を指定して数を数える場合は、COUNTIF関数を使用します。
COUNTIF(範囲, 検索条件) |
---|
指定したセル範囲から検索条件に一致するセルの数を数える。 |
COUNTIFと入力し、組の列を選択します。条件に5組と指定しますが、この際、ダブルクォーテーションで囲むことを忘れないようにしましょう。COUNTIF関数で、文字列を条件とする場合はダブルクォーテーションが必要となります。
=COUNTIF(B3:B22,”5組”)

結果、5組と記載されているセルだけを数えて3という結果が表示されます。

苗字が高橋の人を数える
次に苗字が高橋という条件でカウントします。COUNTIF関数では、基本的には完全に一致するデータをカウントしますが、アスタリスクを使うことで、~を含むという条件でカウントすることができます。検索条件に「高橋*」とすることで、高橋から始まる文字列が記載されているセルをカウントします。
=COUNTIF(A3:A22,”高橋*”)

結果として、3と表示されました。

点数が87点の人を数える
次に「点数が87点」という条件でカウントします。COUNTIF関数では、文字列だけでなく数値を指定してカウントすることもできます。この際、文字列とは違ってダブルクォーテーションは不要です。

そうすると、87点だけをカウントし、1と表示されました。

点数が87点ではない人を数える
次に「点数が87点ではない」という条件でカウントします。この場合、「87ではない」という条件を記載しますが、条件に等号・不等号を使用する際は、ダブルクォーテーションで囲む必要があります。「~でない」ことを示すには、「<>」と記載します。「<>87」と書くことで87ではないという条件になります。
=COUNTIF(C3:C22,”<>87″)

点数が87点より大きい/以上/より小さい/以下の人を数える
同じように等号・不等号で条件を指定する際は、ダブルクォーテーションで囲み条件を記載します。
条件 | 数式 |
---|---|
点数が87点より大きい | =COUNTIF(C3:C22,”>87″) |
点数が87点以上 | =COUNTIF(C3:C22,”>=87″) |
点数が87点より小さい | =COUNTIF(C3:C22,”<87″) |
点数が87点以下 | =COUNTIF(C3:C22,”<=87″) |

ここまでの例では、数式に直接数値を記載し、条件を指定しましたが、基準となる数値を別のセルに記載し、条件を指定したい場合もあります。その場合、条件の記入方法が異なります。ダブルクォーテーションで等号・不等号を囲んだ上で、「&」を付けて基準の数値が書かれているセルを指定します。&が抜けているとエラーが発生するので、ご注意ください。
以下では、セルF18に「87」
条件 | 数式 |
---|---|
点数が87点より大きい | =COUNTIF(C3:C22,”>”&F18) |
点数が87点以上 | =COUNTIF(C3:C22,”>=”&F18) |
点数が87点より小さい | =COUNTIF(C3:C22,”<“&F18) |
点数が87点以下 | =COUNTIF(C3:C22,”<=”&F18) |

1組または2組の人を数える
次に「組が1組または2組」という条件でカウントします。このように「または」で指定する場合、IF関数ではOR条件を指定できますが、COUNTIF関数では使用できません。そのため、COUNTIF関数をプラスで接続し、複数回使用してカウントします。1つ目に1組の数を数える条件、2つ目に2組を数える条件を指定します。
=COUNTIF(B3:B22,”1組”)+COUNTIF(B3:B22,”2組”)

そうすると、1組と2組の人がカウントされ、7と表示されました。

点数が40点以上かつ70点未満の人を数える
次に点数が40点以上かつ70点未満という条件でカウントします。複数の条件を指定する場合は、COUNTIFS関数を使用します。COUNTIFS関数では、範囲をそれぞれ指定し、その範囲から条件に該当するものをカウントします。
COUNTIFS(範囲1, 条件1, [範囲2, 条件2], …) |
---|
複数の範囲の条件に一致するセルの数を数える。 |
40点以上かつ70点未満という条件では、40点以上という条件と70点未満という2つの条件があります。指定する範囲は同じ点数の列を参照します。条件の指定は先ほど解説した通り、ダブルクォーテーションで囲み、等号・不等号で記載します。
=COUNTIFS(C3:C22,”>=40″,C3:C22,”<70″)

そうすると40点と70点の間にある点数の人がカウントされ、4と表示されます。

組が1組かつ87点以上の人を数える
「組が1組かつ87点以上」という条件でカウントします。COUNTIFS関数では、異なる範囲で条件を指定することができます。組が1組という条件では、範囲として組の列を指定します。87点以上という条件では、範囲として点数の列を指定します。
=COUNTIFS(B3:B22,”1組”,C3:C22,”>=87″)

そうすると、1組で87点以上の点数を取っている人がカウントされ、2と表示されます。

このようにExcelで数を数える方法は様々あり、数えたい対象や条件によって適切な関数を選ぶことが大切です。また、COUNTIF関数、COUNTIFS関数の条件の指定方法は少し癖があるので、注意が必要です。今回紹介した条件の指定の仕方は他のSUMIF関数やAVERAGEIF関数にも活用することができます。
コメント