2011年9月12日月曜日

Excelで大量のデータを処理したいとき

今回はExcelで大量のデータを処理したい時のヒントを紹介します.
Excelでのデータ処理に慣れている人にとっては「そんなの知ってるよ」 「もっと便利な方法がある」というものです.

今までExcelは使ったことがあるけど,最近になって大量のデータを扱う作業をしなければならなくなった.
Excelを紹介したサイトとか書籍にあたっても,なんかイメージが沸かない.
という人を対象にしています.


例に出すデータは以下のようなものです.体力測定の結果ですね.
※以下のような見にくい画像は,画像をクリックすれば元の大きさで見れます.

私たちの分野ではよくあるエクセルデータです.
そして,できるだけ早く,かつ楽に処理したいデータでもあります.
じっくり向き合っていても何か返事が返ってくるわけでも,得するデータでもない,そんなデータです.

まずは上記のように,いわゆる “打ち込み作業” は終わっているものとします.


では,データ処理の開始です.

入力作業では上記のように1行目に項目名を入れてリストを作ることが普通かと思います.
そしてデータ処理にかかるのですが,ここで大量データを処理する際のヒントをひとつ.

例えば,以下のようにサンプルが10個くらいだったら,平均とか標準偏差なんかを一番下の行に入力することが多いですよね.それで問題ないですし.

実際,Excelの入力・操作設定としても,「一番下の行」 もしくは「一番右の列」に合計値や平均値を算出するようになっています.
これは当然といえば当然の設定です.
だって通常の数値表は,一番下と一番右に合計値や平均値を示すのがルールみたいなものなので.

しかし,何百何千という行や,数十の列を使ってデータを打ち込んだ場合は,一番下とか一番右の列に合計値や平均値を算出していたら画面を大きく動かさなければならないし,追加データがあるたびに合計値や平均値の算出セルを移動,作り変えをしなければなりません.
なので,以下のようにデータ表の一番上に作ってしまうのが得策です.


上部に7行ほど空けておき,
・平均値を示す「平均値(AVERAGE)」
・データのばらつきを示す「標準偏差(STDEV)」
・最大の値を示す「最大値(MAX)」
・最小の値を示す「最小値(MIN)」
・データが入力されたセルを数える「数値の個数(COUNT)」
などを入力します.
必要に応じて,最頻値を示す 「=MODE」 とか中央値を示す 「=MEDIAN」 といった関数を入れます.

細かいところですが,これらの関数の参照範囲はデータの1行目から65536行目,つまり最下の行までです.
以下では,「平均値」のところの参照範囲を例として示しました.見てみてください.
こうしておけば,途中でデータを追加しても関数の参照範囲を変更しなくても大丈夫,参照漏れ無しということで幸せになれます.


「平均値」 「標準偏差」 「数値の個数」 は統計処理としての数値という意味しか持ちませんが,「最大値 (MAX)」 と 「最小値 (MIN)」 についてはデータ処理としての作業としても便利な関数です.

以下の例をご覧ください.
学年のところの最大値が6,最小値には0が表示されています.
このデータ表は大学生の体力測定データです.大学生は4年生までしかないのに,こういう数値が入っているということは,入力ミスがあることを示しています.

バーっと見てわかる量であればいいのですが,効率的に入力ミスを探すには「フィルタ」機能を使うのも手です.
以下のように項目を入力したセルを選択し,
Excel2007であれば,ここにある「フィルタ」をクリックします.
すると,項目を入力しているセルがこんなふうになります.

例えば身長の入力なんかでよくあるミスは,小数点を打ち間違えたり打ち忘れたりするパターンです.以下のD列のように,1765cmとか1.711cmなんてことがあります.

すかさずフィルタを使って直しましょう.
セルの右端にある下矢印をクリックします.
昇順にすれば,

小さいものから順番に表示されます.おかしい数値を直します.


降順にすれば,
大きいものから順番に表示されるようになります.ありえない数値を直しましょう.


注意してほしいのは,この方法では “完璧に直せたという保証があるわけではない” ということです.
完璧に直すためには,データを入力した元の資料(例えば測定用紙など)と照らし合わせる確認作業をしなければなりません.

この方法を単独で利用する場合は,
(1) 緊急に必要なデータで,
(2) それほどの精度を必要とせず,
(3) なんかの適当な報告書のため
の処理として有用という程度です.

あとは確認作業を終えた後の,さらなる念押しの確認作業としても使えます.
小数点の位置とかは見間違うこともありますし.ヒトの目だけでは心配な時の最後の確認ですね.


画面をスクロールする作業をしていると,平均値とか最大値を見なおしたりするのに大変ですよね.
なので,今回の例であればB列8行目を選択しておいて,「表示」タブの「ウィンドウ枠の固定」のところの「ウィンドウ枠の固定」をクリックすれば,

以下のように統計算出セル群と整理番号の部分を固定して,画面を上下左右に動かすことができるようになります.
一番左側に注目してください.行が7行目で固定されています.
これは知る人ぞ知る超便利技です.


もとに戻したい時は,同じ「ウィンドウ枠の固定」のところを選択して「ウィンドウ枠固定の解除」をクリックすればOKです.
とりあえずはこんなとこでしょうか.
細かいテクニックというのは,こういった技の組み合わせとかバリエーションだったりしますので.
アイデア次第というところがあります.

他にも便利な技を思い出したら,また紹介したいと思います.


いよいよ卒論や修論を追い込みにかかる時期になりました.
頑張ってください!