戻る HOME

Excel で度数分布表


 成績処理をするときに度数分布表(あるいは、それに基づいた度数分布グラフ)を作成したいときがあります。「Excel のピボットテーブル(4/4) 〜 ピボットグラフ(度数分布表を例に) 〜 」のページでピボットテーブルを元にして度数分布表を作成する方法を紹介しましたが、そこまでやる必要のない時も多くあると思います。また、FREQUENCY 関数を使う手もありますが、これは配列数式(「Excel の配列数式」のページ参照 )として使わなければならず、ちょっと面倒かもしれません。
 そこで、今回は COUNTIF 関数を使って度数分布表を作る方法を紹介します。

 COUNTIF 関数は次のような構文で使います。

COUNTIF (範囲, 検索条件 )

範囲
セルの個数を求めるセル範囲を指定します。
検索条件
計算の対象となるセルを定義する条件を、数値、式、または文字列で指定します。式および文字列を指定する場合は、">32"、"Windows" のように、半角のダブル クォーテーション (") で囲む必要があります。

 たとえば、下図のようなシートがあるとします。ここではセル範囲 A1:B41 に出席番号と得点とからなる表があり、その右側に度数分布表を作るとします。

度数分布表

 度数分布表の一番上の「90 点以上」の度数は、COUNTIF 関数の書式に従えばいいので、

  =COUNTIF($B$2:$B$41, ">=90")

とすればOKです。
 同様に一番下の「10 点未満」の度数は、

  =COUNTIF($B$2:$B$41, "<10")

でいいはずです。

 ところが困るのはこの中間の度数の求め方です。実は、COUNTIF 関数では条件を1つしか指定できないんです。「Excel の配列数式」のページでも紹介しているように、条件を2つ以上指定してカウントするためには配列数式を使うしかありません。これは、ちょっと面倒なので、初心者の方にはきついと思います。しかし、度数分布表のような単純なことなら、配列数式を使わなくても目的を達成できます。
 たとえば、「80 点以上 90 点未満」の度数というのは、「80 点以上」の度数から「90 点以上」の度数を引けばいいんです!
 そうすると次のような数式で求められることになります。

  =COUNTIF($B$2:$B$41, ">=80")-COUNTIF($B$2:$B$41, ">=90")

 こうすれば、それぞれ条件を1つだけ指定した通常の COUNTIF 関数の差を求めているだけですので、配列数式を使わなくてもいいわけです。
 ほかの欄にも同様の数式を入力すれば度数分布表の完成です。

 一般に、複数の関数を加減乗除などを使って組み合わせることで複雑な計算をさせるというのが、関数利用のこつです。以外に簡単な組み合わせで、今までできなかった計算ができたりするので、工夫してみる余地はあると思います。



戻る