これは、架空の会話ですが、よくある話です。
部長「サトウ君、今月の売上データを集計してサーバーにアップしておいてくれ」
サトウ「わかりました!」
~~1年後~~
部長「サトウ君、今まで作ってもらった売上集計データがどこにいったかわからなくなった」
サトウ「では、すぐできるのでまた作り治しますね」
~~さらに1年後~~
サトウ「保存するハードディスクがいっぱいになってしまった!!」
Excelでデータを集計します。
そして、データを保存しておくというが普通じゃないですか。いつもそうしますよね。
ここです。問題なのは。今回言いたいのはここなんです。
「データを一回一回集計したものは保存しないのが普通」
パソコンはデータを加工するもの
Excelの操作を考えると、売上データを集計してほしいというリクエストがあったら、売上データそのものを加工しますか?
売上データから複製したものを使って加工するなどの方法で、売上の元データは加工しないでそのまま取っておきますよね。
なぜですか?
これは、後から何度も売上データを使用して集計するからです。
日々追加される売上データは、8月であれば元のデータの中から8月のみを集計し、9月なら9月だけを取り出して集計します。
8月の集計の時点で、いくつか入り始めている9月のデータを削除してしまっては、9月の売上集計できなくなります。
だから元のデータを残しています。
これを残さないと年末に年集計もできなくなりますよね。
そのような加工はExcelで行いますが、確かにフィルタをして、並べ替えをして、関数を使って、と手作業したものは保存しなければなりません。
でもそれって手作業なので効率が悪くて、次月も同じ方法で集計するなら、集計月を入力しただけでその月のデータだけをSUMIFS関数などで抜き出せるように作るべきなんです。
元のデータに新たにデータが追加されても、簡単な操作で目的の集計ができるように自動化する、これがExcelの正しい使い方ですよね。
クエリ
データを加工する手順をシートに計算式として入れておくことで、元データが追加され、目的の月や取引先名を入力しただけで目的の表を作成する仕組みを作ったとします。
そうすれば、出来上がりの表を一回一回保存してハードディスクの容量をわざわざ使必要がありませんよね。
ちょっとした操作をするだけでいいのですから。
このようなデータを加工する仕組みのことをパソコン用語では「クエリ」と呼びます。
このクエリの仕組みを元データに追加したとしても、出来上がりデータを保存するよりも大幅に少ない容量で保存できます。データではなく仕組みだけ保存するので。
クエリの機能をExcelで使っている機能はいろいろあります。フィルタはフィルタというクエリを一覧表に付けていますし、データテーブルもそうですね。
そして一番クエリっぽいことをしているのがピボットテーブルです。
元データを操作せずに項目をレイアウトするだけで様々な集計をするのですから。
そしてピボットテーブルは出来上がりの表を保存していません。あくまでピボットテーブルの設定のみを保存しているので、元データを仮に無集計の表に加工し、全データを表示するピボットテーブルを作成したとしても、保存の容量は元データだけとほとんど変わりません。
これもピボットテーブルの一つのメリットと言えます。
なぜ保存容量の話をしているか
保存容量が大きいということは、それだけデータが大きいということです。
ということはそのファイルを開いている時は、パソコンのメモリにそれだけ負担をかけているということです。
つまりパソコンの動作が遅くなったり不安定になったりしがちということです。
そういった意味でも、集計したものを別シートに貼り付けて保存しているとか、集計のプロセスをすべて別シートに入れているとか、そういうことはやめましょう。
保存するケース
誤解のないように言っておきますが、データを保存しなければいけないケースもあります。
加工結果を別の手段で利用する場合、例えばそれを元に請求書を作成するとか、その加工データをメールで送る場合などです。
まとめ
元データは加工しない。
データの加工は設定項目を入れるだけで自動再計算され作成できるようにしておく。
加工後のデータは別シートに貼り付けたり、別ファイルで保存したりしない。
と考えると、元データファイルのほかに、集計する仕組みだけのファイルをクエリファイルとして保存しておいて、そのファイルに元データをCSVでデータ取得機能で取り込めるようにしておけばいいのではないかと思います。
その取り込みするCSVデータも古いものはどんどん捨てていきましょう。
コメント