ピボットテーブルをご存知ですか? | サラリーマン八神かかしの「パソコンおシゴト日記」

ピボットテーブルをご存知ですか?

つい先日、わたしの職場でピボットテーブルの講習会がありました。ピボットテーブルとはエクセルにある機能で、データを集計して、集計結果をいわゆる縦と横の表形式で表示するツールです。縦と横の表形式で表示するあたりが、とても表計算ソフトのエクセルならではの表現の仕方だと感じてしまいます。

それはさておき、その講習会にはいろいろあって参加しなかったのですが、もしもこのわたしが講師をしたならば、多分説明したであろうことを、今回のページに書いてみようと思います。一番言いたいことは、ピボットテーブルの操作方法のことではなくて、実は元となるデータの蓄積についてなのです。

改めて「ピボットテーブルをご存知ですか?」

同じ職場に働く人たちにそう尋ねたら、多分9割がた「知っているし使ったこともある」と答えると思います。でも自分でピボットテーブルを作ったことのある人は、使ったことのある人のうちの1割程度なんだろうな、と想像しております。

わたしの職場には、販売の実績や受注状況を客先別やら月別やらに集計するために、ピボットテーブルを使った帳票が供給されております。帳票と言っても実際のメディアは紙ではなくエクセルのファイルです。大半の人たちはそのピボットテーブルを操作して、自分が必要な集計区分にレイアウトを変えて、その集計結果を見たり、結果を別の資料のネタにしたりしております。

でも、自分で独自に入手したデータを集計するために、ピボットテーブルを活用している人はあまり見かけません。

ピボットテーブルの元データ

ピボットテーブルとは、今日のページの最初にも書いたように、データを集計してその結果を集計するためのツールです。ですから、集計するための元データがなければ、そもそもピボットテーブルとして表現できません。

ピボットテーブルとして集計するための手順のようなものを、実際に目で見たわけではありませんが、エクセルの中に一定の手順としてプログラム化させているはずです。そうなってくると、元データを蓄積する方法も一定の規則に沿っていなければならないはずです。

元データを蓄積する時に守らなければならない規則は、大まかに言うと3つか4つほどあると思います。

  • ひとつのデータを一行で表現する。
  • 一行に並べる項目の順番を各データで統一する。
  • データはなるべくひとつのシートに集めて蓄積する。

さらに4つ目を挙げるとすると、その結果、データは縦方向に蓄積される、ということになると思います。

ひとつのデータを一行で表現する

ピボットテーブルでは、各データが一行で表現されていることを前提にして、集計する仕組みが作られております。ですから1件のデータを一列で表現すると、正しい集計はできません。

このことについてさらに言うと、その1行で完結しているデータでなければなりません。完結しているという意味は省略されている項目があってはならない、ということです。

よくあることなのですが、ある項目の内容が、一行上のデータと同じ内容だった場合、無意識のうちに入力を省略してしまうことがあります。現実の表としてこれらのデータを人が見た時は、省略されていた方がすっきりしていて見やすく感ずるものです。でも、見やすいと感ずるのはこの場合人であって、エクセルの集計手順からは省略されていてはだめなのです。

1行ごとに完結しているデータでなければなりません。これはピボットテーブルだけでなく、エクセルでデータを蓄積する時の基本中の基本と言ってもよいことです。

一行に並べる項目の順番を各データで統一する

それに対して、横方向に並べる項目は、各データで統一されていなければなりません。当たり前と言えばとても当たり前のことです。

販売関係のデータであれば、例えば次のようなことです。

  1. いつ
  2. 何を
  3. いくつ
  4. いくらで
  5. 誰に
  6. 売った・あるいは売る予定

6番目の「売った・あるいは売る予定」というのは実績データなのか予定データなのかの区分です。どちらか一方だけのデータを蓄積する場合は、この区分は不要です。

一度この順番を決めたら、当然のことなのですが、全部のデータがこの順番に横方向に並んでいなければなりません。そして、これまた当然のことなのですが、この項目名称はデータ行の一番上に表現されていなければなりません。

データはなるべくひとつのシートに集めて蓄積する

今の例で言うと、1月のデータはこのシートに、2月のデータは別のシートに、というように保存すると、集計する時の妨げになる可能性がでてきます。そうしてしまうと、例えば年間合計ができなくなってしまいます。

データを蓄積する時は、あまり分類することを考えない方が良いと思います。分類の基準は常に一定とは限りません。分類基準が変わるたびに、元データをごちゃごちゃ触るよりは、横方向の項目が同じデータである限り、発生都度全部を同じシートに保存する方が、ヘンに分割して保存するよりも、数段メリットがあります。

各データが縦方向に並ぶ順番を気にしない

各データが縦方向に並ぶ順番を気にする必要はありません。つい先ほどの例で言うと最初の「いつ」の項目で、各データが日付順に並んでいる必要性はありません。順不同であってもピボットテーブルの仕組みでは正しく集計されます。

この3つないしは4つを守って元データを蓄積すれば、あとはピボットテーブルを作って、操作するだけです。作り方や操作は、実際やってみれば難しいことではありません。それよりもこれらの規則を意識することの方が大切だと思います。これらの規則は、実はデータベースと呼ばれるものを作る時の規則にもつながる、結構基本中の基本なのです。ピボットテーブルの元データを蓄積することは、実はデータベースを作ることなのです。

さらにもう一言加えると、これらの規則は、以前からこのブログでも書いている表の型のうち、「データ蓄積型」にもつながります。「データ蓄積型」の表とは、データベースのことなのです。

「データ蓄積型」の表について書いたページにはここからリンク しております。