春の新番組もやっとこ落ち着いてきましたが、皆様チェックは完璧でせうか。私は…まだ見てないのもたくさんありです。つか多すぎ…4月からキッズステーションが見られなくなって、ちょっとは助かっているのかも知れませんが…ざっと数えたところ67番組ありそうです。命削ってアニメ見てはいますが、さすがに削りきってしまいそうな勢いですナ…。
まぁ世間話はこのぐらいにして。
新番組が始まると、感想率調査をもうすぐ始めますか、という話になるわけでして。とりあえずExcelファイルと感想率入力補佐システム(外注)の準備をはじめておりまふ。
データ的にあたらしくしたいところは、前回の調査でなくて寂しげだった「終了、新番調査にコメント表記欄を設ける」という点。コレを実現させるためにいろいろと画策中です。
問題は例によって「Excelは列を256列までしか持てない問題」。1サイト1列使ったとしても、最初の制御列を抜いて1シートでは255サイトまでしか対応できないというところ。1列だけ使っても結構厳しい量のサイトが存在し出しているというのに、ここにコメントを付加させるために各サイトに対しもう1列使っていたら、シートが分かれてしまい、もうワケわかんなくなること必至です。
そこで、サイトデータを縦長に持ってそこから引っ張り出す形に変更をもくろんだわけです。すでにシートが分かれていて面倒だった感想率調査ブックも含めて。
各行に、 という1行で独立しているまとまったデータを持たせることにより、列数増加をすることなく、固定列数ですべてのサイトデータを管理することができるようになります。
実際は、 A | B | C | D | E | F | G.. |
---|
1 | サイト | サイト | 番組 | 評価 | コメント | 略・URL | | | サイト | 番組 | 評価 | コメント | 略・URL | | | サイト | 番組 | 評価 | コメント | 略・URL | | | サイト | 番組 | 評価 | コメント | 略・URL | 2 | サイト | サイト | 番組 | 評価 | コメント | 略・URL | | | サイト | 番組 | 評価 | コメント | 略・URL | | | サイト | 番組 | 評価 | コメント | 略・URL | | | サイト | 番組 | 評価 | コメント | 略・URL | | | サイト | 番組 | 評価 | コメント | 略・URL |
のようなシートになっているワケではありますが。データを入力するのは、B列・D列・E列・F列の4つ、あとは自動で入るようになっています。
A列に入っているのは、 「=IF(NOT(自分の隣(B列)=""),COUNTA(B列一番上の行〜自分の行),"")」 というもので、「もし、自分の隣のB列に何かあれば、B列の一番上から自分の隣のB列のセルまでのデータが入っている個数を数えなさい」という内容になっています。これで自動的に整理番号が付加されます。
C列に入っているのは、 「=IF(NOT(横のBセル=""),横のBセル,IF(NOT(横のDセル=""),自分の一個上のCセル,""))」 というもので、「B列に何か入っていればB列と同じものを。B列に何も入っていなければ、上と同じものを入れる。でも右横に何も入ってなかったら何も書かないでおくれ」という内容になっています。これで入力した番組評価のある行までサイト名を繰り返し表示させています。
感想率データをまとめる際に必要になるサイト情報(G列以降)は別に用意するサイト情報シートからVLOOKUPで引っ張り出します。
入力フィールドは、300サイト×50番組を想定して15000行用意してみた。(ちょっと多すぎ)
そんな感じに縦長になったデータ入力シートだと、いままでの計算方法では集計できないわけで、このシートに合わせた計算式を書いてやる必要があったりするワケです。
でもとりあえず感想率データを出すだけならすごく簡単な式になりました。Excel使う人なら簡単にわかると思いますが、SUMIF関数を使うだけで、番組ごとの集計が一瞬で、 「=SUMIF(D列(番組名の入った列),番組名,E列(感想率の入った列))」 というSUMIFの基本書式、 「=SUMIF(検索範囲,検索条件,合計範囲)」 のみで計算が可能というなんとも楽チンな結果に。取り扱いサイト数もCOUNTIF関数のみで簡単計算。
…しかし、楽なのはここまでのようで。このあと、
●番組別サイトリンク ●しかも感想率高い順にサイトリンクを並び替え
というタスクが待っているワケです。縦横の関連性がないため、「データがここにあるということは、これはこのサイトのもの」という単純な考え方ができず、「あるデータから横にあるサイト名や感想率データを引っ張り出す」という手順を踏まなければならなくなるワケですね。
つまり、MUTCH関数でセル位置を検索しつつデータを拾い、次のデータはOFFSET関数を用いて検索範囲を変えることにより見つけていき、出てきたデータをRANK関数等で分類し、その分類をもとに並び替える…というものが必要で、そこをサイト情報と切り離さないようにやらねばならんわけです…。
で、その計算を数千行×約100列セルでやらせようとしたら…Excel死亡しました。やっぱりちょっと無理させすぎたようです…。
もう少し少ないデータ数を想定した方がええな…。
|