PC用は別頁

== Excelを用いた度数分布表[1] COUNTIF関数の利用 ==

■ はじめに

 以下においては、次の表1〜表3のような生データを集計して、表4〜表6のような度数分布表を作成する方法を解説します。(「データの個数」を「度数」といいます。=ほぼ同じ意味だと考えるとよい。)

表1表2表3
生徒番号 通学手段
No.1 バス
No.2 列車+徒歩
No.3 自転車
No.4 列車
No.5 列車+徒歩
No.6 バス+徒歩
No.7 バス+徒歩
No.8 自転車
No.40 バス+徒歩
試行回数 出た目
No.1 2
No.2 6
No.3 1
No.4 1
No.5 4
No.6 5
No.7 3
No.8 1
No.30 1
生徒番号 身長
No.1 175.1
No.2 182.1
No.3 167.0
No.4 176.7
No.5 168.4
No.6 167.8
No.7 166.5
No.8 166.4
No.50 173.3


表4表5表6
通学手段 人数
バス 6
バス+徒歩 10
列車 6
列車+徒歩 6
自転車 9
徒歩 3
合計  40
出た目 回数
1 9
2 4
3 4
4 4
5 6
6 3
合計 30
階級 人数
160.0〜 4
165.0〜 10
170.0〜 13
175.0〜 7
180.0〜 16
185.0〜 0
合計 50


 生データは、表1では「バス」のような文字データ、表2では「2」のような整数の数値データ、表3では「175.1」のような実数(小数)の数値データとして与えられており、各々数十から数千程度の件数が表計算ソフト上に入力されているものとします。

 数十件程度のデータならば「手作業(=目で数えて)」でも集計はできますが、数千件程度となると手作業ではミスが多くなり、点検にも時間がかかりますので、表計算ソフトを用いて短時間に・正確に数えて「表4〜表6のような度数分布表に仕上げる」方法を考えます。

 ここでは、ほとんどのパソコンにインストールされているMicrosoft Excelを用いて度数分布表を作成する方法を解説します。操作画面はExcel2007で解説します。(他のバージョンでもほとんど同じです。)

■ 要点
操作の容易さ(筆者の考え) ■1 ワークシート関数COUNTIF()を用いる方法 ■2 ワークシート関数FREQUENCY()を用いる方法 ■3 ピボットテーブルを用いる方法
表1のような文字データ ×
表2のような整数の数値データ
表3のような実数の数値データ
備考 元のデータが書き換えられたとき ⇒ ワークシート関数なので、初期設定で「再計算を行う」ことになっていれば集計表も更新されます。 元のデータが書き換えられたとき ⇒ ワークシート関数なので、初期設定で「再計算を行う」ことになっていれば集計表も更新されます。 元のデータが書き換えられたとき ⇒ そのままでは集計表は更新されませんので、再度集計し直す必要があります。特に、ピボットテーブルで集計する範囲を変える必要があるときは注意が必要です。
教材 この頁 別紙 別紙

■1 ワークシート関数COUNTIF()を用いる方法

 ワークシート関数COUNTIF(範囲,検索条件)は、指定された範囲に含まれるセルのうち、検索条件に一致する「セルの個数」を返します。

[表1のような文字(列)データの集計]
(1) 最初に集計欄D1〜D7を書き込みます。
表1(再掲)
  A B C D E
1 生徒番号 通学手段   通学手段 人数
2 No.1 バス   バス 6
3 No.2 列車+徒歩   バス+徒歩 10
4 No.3 自転車   列車 6
5 No.4 列車   列車+徒歩 6
6 No.5 列車+徒歩   自転車 9
7 No.6 バス+徒歩   徒歩 3
8 No.7 バス+徒歩     40
9 No.8 自転車      
     
11 No.40 バス+徒歩      

A) この集計欄は自動的にはできませんので、ユーザが自分で作らなければなりません。

B) 次図でD2からD7に記入している項目は、生データにおいてB2からデータの下端までに登場するすべての項目を「もれなく」「重複なく」列挙していなければなりません。
(下記:注1参照)
(2) 次に、集計欄E2〜E7にCOUNTIF()関数を記入します。
ここをクリック ⇒ COUNTIF()の概要

○ 対話型メニューからCOUNTIF()関数を書き込むには:

i)  まず、E2のセルをポイントしておき、ここに1つの式を書き込むことにします。

ii)  次図1のように、画面の上の方にある数式バーの左のという記号をクリックします。
図1

iii) 次図2のように、関数の分類の右端の▼をクリックし、「統計」または「すべて表示」を選びます。
図2

iv)  次図3のように、COUNTIFを選択し、OKボタンをクリックします。
図3

v) 範囲を書き込むには、次図4の参照ボタンをクリックしてから、
【通常の場合】 「B2からデータの下端までをドラッグ」「Enterキーを押す」とできます。
【ここでは】 上に述べたようにB列全体を指定することにして範囲の欄に B:B と書きこみます。(コロン:とセミコロン;の違いに注意)
vi) 検索条件を書き込むには、検索条件の右端の参照ボタンをクリックしてから、セルD2をクリックし、Enterキーを押、OKボタンをクリック
図4

以上により、セルE2に1つの数式 COUNTIF(B:B,D2) が記入され、E2には返された数字が表示されます。
他の項目D3以下に対する集計は、このE2の式をコピーして、貼り付けるだけでできます。

vii) E2をコピーして、E3からE7までを選択し、貼り付けアイコンをクリックします。

※ 合計が一致するかどうか確かめるようにします。次図1ではセルE8をポイントしてから
【関数を直接書き込むとき】 =SUM(E2:E7)と書きこみます。
【関数の挿入またはショートカットアイコンのΣで】E2からE7の総和を求めます。
※ この作業は重要です。特に、生データを何人かで入力しているとき、入力者ごとのクセのようなものが異なることが多く、全角カタカナで「バス」と書いているのと半角カタカナで「バス」と書いているのとでは全く異なるデータとなります。また、何かのはずみで「バス 」のようにスペースが入るだけで異なるデータとなり、合計に入らないため合計数がデータ総数と一致しないことから、ミスが発見できます。


[表2のような整数の数値データの集計]
 上記の文字(列)の集計と同じように行うことができます。

[表3のような実数の数値データの集計]

 COUNTIF()関数は検索条件に「等しい」セルの個数を返します。条件式の書き方の例と表示される内容は次のようになります。
条件式 表示される内容
=COUNTIF(A:A,C2) A列にあるデータのうち,セルC2の値に一致するセルの個数
=COUNTIF(A:A,"東京都") A列にあるデータのうち,東京都という文字列に等しいセルの個数
=COUNTIF(A:A,10) A列にあるデータのうち,10という数に等しいセルの個数
=COUNTIF(A:A,"<10")

▲複数個の条件を入れることはできない
A列にあるデータのうち,10より小さい値のセルの個数
=COUNTIF(A:A,">=10")
▲同上
A列にあるデータのうち,10以上の値のセルの個数
=COUNTIF(A:A,"<="&C2) A列にあるデータのうち,セルC2の値以下のセルの個数 (*)

 表3のような実数の数値データを集計するときに、ある値に「等しい」データの個数という考え方はしません。表3のようなデータについては、「160以上165未満」「165以上170未満」…のように階級を定めて各々の階級に含まれるデータの個数を数えます。
 上に述べたようにCOUNTIF()の条件として▲複数個の条件を入れることはできないので、次図5において、160≦x<165という条件を満たすデータの個数をF2に書き込みたいとき、第1段階で160以上、165以上、…の個数を求め、第2段階でそれらの差を求めるなどの工夫をする必要があります。
図5
 第1段階としてD2(160以上)の個数をセルE2に書き込むには、上記の(*)を参考にして次のように書くことができます。
=COUNTIF(B:B,">="&D2)
 この式をコピーして、D3以下に貼り付けるとE列にはD列の値以上の個数が入ります。
この欄は 160〜 とか 160以上165未満 のような文字(列)にしてはいけません。Excel上で「数値として計算に使う」には、セル内には単なる数字が書かれていなければなりません。だから、集計の段階で160≦x<165のつもりで160と記入して、結果を文書としてまとめるときに、別の欄に160≦x<165と転記する必要があります。160〜165では165まで含まれてしまうという初歩的なミスを指摘される弱点があります。
 次に、第2段階としてF列に160以上165未満の個数が入るようにするには、160以上の度数から165以上の個数を引けばよいから
セルF2に =E2−E3 と書き込み、この式をF3以下にコピー・貼り付けすればよいことになります。
(このとき、F列の合計はデータの個数と一致しますがE列の合計は重複があるため一致しません。)
好きなスポーツ
野球
サッカー
テニス
フットサル
バスケット
少林寺
バレー
バスケ
バスケットボール
バレーボール
(※注1)
 COUNTIF()で個数の集計を行うには、あらかじめすべてのデータを見渡して「どんなデータがあるか」調べておかなければなりません。
 したがって、「好きなスポーツ」や「夏休みに行きたい所」のような自由記述式の項目をCOUNTIF()で集計するのはデータ総数と回答の多様性との兼ね合いで、必ずしも適しているとは言えません。

 さらに、COUNTIF()関数による集計は、表されている「内容」によって行われるのでなく、「表記=文字(列)としての一致」によって行われることを忘れていはいけません。次の「バスケ」「バスケット」「バスケットボール」の例から分かるように、人によって表記の異なる回答は同じ項目として集計されません。

≪練習用の問題≫ 次のデータから度数分布表を作ってください。
 データの取り込み方:キーボードから入力しなくても、画面上で下向きにドラッグ・コピーし、Excel上に単純に貼り付けるとExcelデータになります。(単純なテキストデータなので、安全に取り込むことができます。)
データの出典:
 表Iは生徒のABO方式血液型についての架空データ

 表IIは気象庁の統計資料で、1951年から2010年までのわが国における年ごとの台風上陸数
ホーム > 気象統計情報 > 天気予報・台風 > 過去の台風資料 > 台風の統計資料 > 台風の上陸数 : http://www.data.jma.go.jp/fcd/yoho/typhoon/statistics/landing/landing.html

 表IIIは、鶏卵の重さについての架空データ(鶏卵と重さに関する規格の表IVは、JA全農たまご株式会社
http://www.jz-tamago.co.jp/06-b.htm による) 表IIIのデータを表IVの分類に沿って度数分布表にしてください。
表I 表II 表III 表IV
生徒番号 血液型
No.1 O
No.2 A
No.3 O
No.4 AB
No.5 O
No.6 A
No.7 A
No.8 A
No.9 O
No.10 A
No.11 O
No.12 B
No.13 A
No.14 A
No.15 A
No.16 AB
No.17 A
No.18 B
No.19 O
No.20 A
No.21 A
No.22 O
No.23 B
No.24 O
No.25 B
No.26 A
No.27 A
No.28 B
No.29 O
No.30 O
No.31 B
No.32 A
No.33 B
No.34 O
No.35 A
No.36 A
No.37 AB
No.38 B
No.39 AB
No.40 O
年間
1951 2
1952 3
1953 2
1954 5
1955 4
1956 3
1957 1
1958 4
1959 4
1960 4
1961 3
1962 5
1963 2
1964 2
1965 5
1966 5
1967 3
1968 3
1969 2
1970 3
1971 4
1972 3
1973 1
1974 3
1975 2
1976 2
1977 1
1978 4
1979 3
1980 1
1981 3
1982 4
1983 2
1984 0
1985 3
1986 0
1987 1
1988 2
1989 5
1990 6
1991 3
1992 3
1993 6
1994 3
1995 1
1996 2
1997 4
1998 4
1999 2
2000 0
2001 2
2002 3
2003 2
2004 10
2005 3
2006 2
2007 3
2008 0
2009 1
2010 2
卵の
標本番号
重さ(g)
No.1 60.6
No.2 66.2
No.3 56.6
No.4 58.2
No.5 47.3
No.6 51.8
No.7 69.4
No.8 44.6
No.9 58.6
No.10 66.6
No.11 55.8
No.12 45.2
No.13 63.8
No.14 66.1
No.15 49.7
No.16 66.4
No.17 45.4
No.18 58.0
No.19 68.4
No.20 64.5
No.21 59.9
No.22 61.8
No.23 69.3
No.24 44.0
No.25 40.0
No.26 60.2
No.27 42.5
No.28 58.8
No.29 40.9
No.30 47.1
No.31 48.6
No.32 46.9
No.33 54.1
No.34 41.5
No.35 57.6
No.36 57.2
No.37 69.5
No.38 69.6
No.39 43.1
No.40 68.2
No.41 50.8
No.42 68.7
No.43 45.7
No.44 59.2
No.45 65.2
No.46 57.0
No.47 66.6
No.48 57.7
No.49 65.0
No.50 60.7
No.51 41.0
No.52 60.8
No.53 52.2
No.54 48.0
No.55 64.1
No.56 48.7
No.57 40.2
No.58 44.0
No.59 59.5
No.60 58.0
規格 重さ(g)
SS 40以上
46未満
S 46以上
52未満
MS 52以上
58未満
M 58以上
64未満
L 64以上
70未満
LL 70以上
76未満


≪解答例≫
○ 表Iの度数分布表
血液型 度数
A 16
B 8
O 12
AB 4
合計 40
※一般に、度数分布表を作るときに項目を並べる「順序」は、作成者にいおいて上記の血液型のように「項目の順に何らかの意味があるとき」はその順に、そうではないときは「度数の多いものから順に」並べるのが普通です・・・ただし、少ない項目を「その他」という項目にまとめるときは、どんなに多くても「その他」は末尾に書くのが普通です。

○ 表IIの度数分布表
年間 度数
0 4
1 7
2 15
3 17
4 9
5 5
6 2
7 0
8 0
9 0
10 1
合計 60

○ 表IIIから表IVに沿って作った度数分布表

 だい1段階で左側2列を作り、次に右側3列を作ります。
重さ(g以上) 累積度数   規格 重さ 度数
40 60   SS 40以上46未満 13
46 47   S 46以上52未満 9
52 38   MS 52以上58未満 8
58 30   M 58以上64未満 14
64 16   L 64以上70未満 16
70 0   LL 70以上76未満 0
        合計 60

■読み終わったら→ ここ ←をクリック■

...(携帯版)メニュー:数学U

...(携帯版)メニュー:統計に戻る

...(PC版)メニューに戻る

■[個別の頁からの質問に対する回答][Excelを用いた度数分布表の作成[1]について/18.7.23]
人によりますが、私には金魚はいいですね。
=>[作者]:連絡ありがとう.多少なりとも気持ちに余裕のある人の感想だと思う.動くものがあると全く勉強が手につかないという傾向の人が何%いて,その場合は上端の「水槽を消す」を押してもらうという想定になっています.