今日、NHKの高校講座 情報A(深夜の再放送)を、なにげなく見ていたら、恐竜のアンケートをとって、集計するというのをやってました。
で、その集計をExcelで取っているんですけど、その番組では、複数回答の集計については、(当然、高校の入門番組ですから)やってなかった気がしました。
で、このような複数回答、つまり、
「好きな恐竜を3つあげてください」
といったようなものや、
(アンケートではないけど)受注伝票の繰り返し部分
「商品名 数量 単価」
のようなものを、Excelを使って集計する場合(恐竜だと、出てきた好きな恐竜の回数をカウント、受注伝票だと、商品名と、合計数量を集計)の方法について。
この場合、繰り返し部分(好きな恐竜や「商品名 数量 単価」部分)を、別シートにわけてしまうとやりやすい。
たとえば、好きな恐竜だったら、
回答者の年齢、性別、1番すきな恐竜、2番目恐竜、3番目恐竜とあるわけだけど、
これを1シートにしないで、1番、2番、3番というところは、好きな恐竜を繰り返しているだけなので、
回答者の番号(適当に降る)、回答者の年齢、性別、
で1シート
回答者の番号、何番目に好きか、その恐竜
で、もう1シート
と2つにシートをわけてつくる。
そうすると、「回答者の番号、何番目に好きか、その恐竜」シートで、「その恐竜」を「重複を無視して」集計することにより、回答中にでてきた恐竜の一覧が得られる。それを、結果シートにはりこむ。
そうすれば、各行に関して、あとはテレビでやっていたようにCOUNTIF関数を使うことによって集計ができる。得点集計の場合は、SUMIF関数を使う。
詳しい、具体的な手順については、ここ http://www.geocities.jp/xmldtp/ex_shukei.htm
に、書いておいたので、興味がある人はみてください。
で、ここでいいたいことは、一般にExcelというのは、
(RDBの)正規化理論に関係ないと思われているけど、
第一正規形に関しては、やったほうが、集計は楽になる。
第二、第三正規形に関しては、やらないほうが、集計が楽になる。
と思う(経験上)
で、第一正規形を行ってしまった場合、たとえば、「商品名、数量、単価」とか分けたシートのほうで、もとシートの「納品先」も一緒に表示したい場合等は、正規化を展開する(=崩す)。
Excelの場合、VLookupないしはHLookupを使うことになるのかな?
では、予定から、スケジュールをつくる場合ではどうか?
日次データ
12月11日 3:50~4:20 NHKの高校講座 地学1(平野さん)
12月11日 11:30~12:30 ハローモーニング
12月11日 22:30~23:00 ブラックバラエティ
12月12日 0:00~1:00 チャンネルA(キューティーマミー早見優他)
12月12日 1:30~2:00 ぱにぽに
というようなデータから、スケジュール表を作りたい場合、スケジュール表を直接つくるのではなく、日次データを入力して、別シートにスケジュール表を作ったほうがいいのか?
ということになると、そのとおりであるのだが、この場合は、日次データから、スケジュール表を作成するための関数を(そんなの用意されてないと思うので)マクロでつくんないといけない。そこが面倒。
って、そういう関数をだれかが、公開すれば、みーんなExcelでスケジュールがかけるから、かんたんなんだけどね。
え、「お前書いて、公開しろよ!」って。。。
いまから、お昼たべて、ちょっと、移動しないといけないのよ。。
で、その後もいろいろあるし。。その後になったら、また違うことに興味をもつ(とか、ほかに、アクセスアップにつかがりそうなネタを書く)とかしちゃって、このことを書かないうちに、忘れ去ってしまい。。。(^^;)
とか、なりそうなので、気分がむいて、覚えていたら(つーか、書くネタがなくって、覚えていたときに)書きますね。