---topics:ピボットテーブル---

其ノ14 ピボットテーブルの練習

今回の目的は「ピボットテーブルを体験する」です。
ピボットテーブルってそこそこ便利なんだけど、その便利さって使ってみないとなかなか実感できないところがあって。 なので、とりあえずみなさんにはピボットテーブルに触ってもらって、で、それが仕事に活用できるかどうかはみなさんの方で判断してもらおう、ということにしました。
ということで、始めてみたいのですが…。

この章の方針宣言

…その前に、本章の内容について事前の説明をさせていただきたく。 と言っても、「僕はこういう方針でこの章を書きますよ」っていう一種の言い訳なので、興味ない方はこの部分飛ばしていただいていっこうにかまいませんので。

さて。
僕はモノを教えるとき、「まず触ってもらう」ってことを重視してるんですね。 やってみないとわからないことっていっぱいあるし、つまずくポイントは人それぞれだし、それに、仕事をするのは本人だし(仕事でも、学校の勉強でもイイけど)。 本人ができるようにならなきゃ意味がない。 だから、事前の説明は短めにします。 師匠(仕事の師匠)からは「説明は1分以内」って言われていて、だいたいいつも1分では終わらなくて5分くらいかかっちゃうんだけど、それでもその5分のイントロダクションが終わったらすぐ手を動かさせます。 だらだら言葉で説明して、わかってもらえるなんて思ってないので。
…よく、作業説明に30分とか1時間とかかけてる人いますが、僕はアレ無駄だと思うんですよね。 最初の方に説明したこと、絶対忘れてると思うんですよ。 そうすると、もう1回説明することになるんだけど、どうせ2回、3回と説明することになるなら(さらに言うと、どういう教え方をしたって結局2回、3回と説明するハメになります。なぜなら、1回の説明で理解できるような優秀なヤツはそうそういないからです)、はじめにしゃべっていた30分を手を動かす時間に充てた方が、結局は仕事を覚えてくれるでしょう。 一方的に耳で聞くのではなくて、手を動かしながら、その都度の疑問点を解決できるのでね。 だから、1回に教える量は少ない方が良いのであって。
…ですが。 今回のテーマであるピボットテーブル、コイツをまじめに説明しようとすると、語ることが多岐にわたるんですよ。 それは、ピボットテーブル自身が多様な使い方ができる、というのもありますし、また、Excel2003→2007に移行したときにピボットテーブルの使い勝手がだいぶ変わった、という事情もあります。 ま、2003、サポート終了しちゃったんですけどね。 だけど、2007以降のピボットテーブルにも「従来のピボットテーブルレイアウトを使用する」というオプションがありまして、2003の頃の使い勝手で作業することもでき、これはこれで直感的な操作感が便利だったり(わたしも、2003からExcel使ってるせいか、こちらの方が好みだったりします)。 …実は、わたしが特に悩んでいるのは、ピボットテーブルには表示形式がいくつかあって、その内のどれをメインで語るか、ということなんですよ。 もちろん、全部説明できれば一番良いのでしょうが、そうすると語ることが多岐にわたる。 そうなると、本質がぼやけてしまう…。 悩ましい事態です。
で、いろいろ方針について悩んだ結果、結局、自分のやり方を押し付けることにしました。 …イヤ、「押し付ける」って言い方には語弊があるんですが、でも、ひとつのやり方にしぼってそれを提示して、で、それが合うか合わないかはみなさんの方で判断してもらう、という方向性にしたいと思います。 そうじゃないと、「アレも話さなきゃ、コレも説明しなきゃ」となって、結局本題がぼやけてしまいかねないので。 本章の主眼はあくまでも、「ピボットテーブルの機能に触れてもらうこと」です。 表示形式というのはあくまでも見た目の問題です。 だから、表示形式については、さしあたりわたしのやり方で話を進めますが、もし「イマイチ使いにくいな…」という方は、別の表示形式に移行しても問題ありませんので。
あ、そうそう、この章は「ピボットテーブルって使ったことない」って方を想定して書いてます。 ピボットテーブルのTipsや特別目新しい使い方などは語っていないので、「ピボットテーブル?バリバリ使ってるぜ!」という方には物足りない内容になってますので、そこら辺はご了承ください。

あ、前置きが長くなってしまいましたね、スミマセン(笑)。 ポリシーに反して、グダグダ説明してしまいました。 ということで、さっそく触っていきましょう。

ピボットテーブルを話題にするときよく問題になるのが、発音は「ピット」なの?「ピット」なの?ってことなんだけど、…正しくは「ピボットpivot)」です。 「旋回する」って意味の英語で、円を描くときに使うコンパス、アレを旋回させる様子を「pivot」って言います。 ほら、バスケットボールの、例のコンパスに似た動作にも「ピボット」ありますよね? アレです。 …まあ、それが今回のExcelの操作とどう関連するかはぼくもうまく説明できないのですが…。

ピボットテーブルに触る

まず、下↓からサンプルデータのダウンロードを。

開くとこんな↓です※1

練習用データ kiso14_pivot_training.xlsx シートが3つ
※1 練習用データ kiso14_pivot_training.xlsx シートが3つ

シートが3枚あります。 とりあえず1番目のシート「炎電器チラシ」を見てください。 見開き4ページの架空のチラシをまとめたものです。 掲載情報が一覧になっています。 かるーく眺めてもらえます?
…では。 例えばコイツの「各ページの掲載商品点数を知りたい」というとき、どうしますか? …うーん、やり方のひとつとしては、「掲載ページ」のフィルタを使って、「01」で抽出されるのはいくつ、「02」ではいくつ、ってやることもできます。 できます、が、今回はテーマの通り、ピボットテーブルを使ってやってみましょう。

ということで、ピボットテーブルを動かします。 挿入タブ→ピボットテーブルと進んでください※2

挿入タブ→ピボットテーブル
※2 挿入タブ→ピボットテーブル

ピボットテーブルを起動させると、こんな↓ウィザードが出てきます※3

初期設定のままOK、で問題ナシ
※3 初期設定のままOK、で問題ナシ

「テーブル/範囲」とはピボットテーブルの元となるデータ範囲のことなのですが、ピボットテーブルを起動させるときに表内のセルを選択しておけば初期状態でちゃんと範囲が設定されているはずなので、確認しておいてください。
次の「ピボットテーブル レポートを配置する場所を~」は、さしあたり「新規ワークシート」になっていますが、これもこのままでOKです。
ということで、「OK」押してください。 新しいシートが作成されます※4

これからここに、ピボットテーブルを作っていくんだ
※4 これからここに、ピボットテーブルを作っていくんだ

新しいシート、作成されました?
赤い線で囲んだところ、ここに、これからピボットテーブルを作成していきます。
視線を移して右の方を見てみると、「no」「掲載ページ」「カテゴリ」…と並んでいますね。 これは、元のデータの項目名(ヘッダー名)に対応します。 これらのデータを赤囲みのなかに配置する、というのが、ピボットテーブルの基本的な使い方になりますので。
では、さっそく始めましょう。 「掲載ページ」をドラッグして(引っぱっていって)、「行」のところにつっこんでください※5

「掲載ページ」項目を、「行ラベル」のところにもってくる
※5 「掲載ページ」項目を、「行」のところにもってくる

こう↓なります※6

掲載ページが一覧になる
※6 掲載ページが一覧になる

これだけだとまだ、いまいちパッとしませんね…。
それでは! 引き続き、「商品名」を「値」のところにもっていってください。 すると…※7 ※8

「商品名」項目を、「値」のところに
※7 「商品名」項目を、「値」のところに
掲載ページごとの商品点数が一覧になる
※8 掲載ページごとの商品点数が一覧になる

こうなります。
…え? イマイチ何のことかわからない、って?
「7」「8」「10」「12」と並んでいるのは、各ページに含まれている商品名の個数です。 つまり、各ページの掲載点数が一覧になっている、というワケです。 ピボットテーブルを使うと、フィルタを1コ1コ開かなくても、ページ「01」「02」…ごとの点数を確認できるんです。
要は、元のシート(炎電器チラシ)のこの↓情報が、集計された、ってワケ※9

ピボットテーブルにまとめられたのは、この情報
※9 ピボットテーブルにまとめられたのは、この情報

…でも、これだけでは、まだピボットテーブルの便利さ、実感できないですよね(笑)。 なので、バンバン次行きましょう。 今回のテーマは「触ること」なので。
ということで、右の「ピボットテーブルのフィールドリスト」にある「商品名」のチェックをいったん外してください※10。 そうすると、一段階前に戻ります※11

商品名のチェックを外すと…
※10 商品名のチェックを外すと…
一段階前に戻る
※11 一段階前に戻る

では、さっきと同じ「商品名」項目を、今度は「」の方にもっていってください※12

商品名を行ラベルにすると…
※12 商品名を「行」にすると…

そうすると、各ページ掲載の商品名が一覧になります※13

ページごとの商品名が並ぶ
※13 ページごとの商品名が並ぶ

こんなふうに、同じ「商品名」項目でも、格納する場所によって(「値」に入れるか「行」に入れるかによって)見え方が変わってくるんですね。 このことは、覚えておきましょう。

ピボットテーブルのオプションを設定する

さて。 ここで、右にある「掲載ページ」と「商品名」のチェックを両方外して、いったん初期状態にしてください※14

チェックをall外して、最初の状態に
※14 チェックをall外して、最初の状態に

で、ですね…。
お手数ですが、ひとつ設定をしてほしいんですよ。 これが、上述の表示形式のハナシで、Excel2003の頃のピボットテーブルレイアウトを使うための設定なのですが…。

では、やり方。 「ピボットテーブル ツール」の「分析」から、一番左にある「ピボットテーブル」の「オプション」ってヤツを開きます※15

ピボットテーブルのオプションから…
※15 ピボットテーブルのオプションから…

オプション設定画面が出てくるので、表示タブから、従来のピボットテーブル レイアウトを使用するにチェックを入れます※16

ピボットテーブルのオプションから…
※16 「従来のピボットテーブルレイアウトを~」にチェック

そうすると、こんなふうに↓メイン画面の見た目がちょこっと変わります※17

2003世代にお馴染みのレイアウトに
※17 2003世代にお馴染みのレイアウトに

こうすることで何が変わったかというと、項目をメイン画面の方に直接ドラッグ&ドロップできるんです※18。 この機能は、Excel2003の頃はデフォルト設定だったのですが、2007で変えられてしまいました。 ですが、直接ドラッグ&ドロップできると何かと便利なので、わたしとしてはコチラをオススメさせていただきます。

2003世代にお馴染みのレイアウトに
※18 2003世代にお馴染みのレイアウトに

でね、「従来のピボットテーブル レイアウトを使用する」にすると、もう1点変わったところがあって。
実は、「従来の~」にしてピボットテーブルをつくると、見た目がこんな↓ふうに変わるのです※19。 下の画像の、右側のように。

ピボットテーブル作成時の見た目も変化する
※19 ピボットテーブル作成時の見た目も変化する

コイツは、「表形式」ってレイアウトで、…実は、ピボットテーブル ツールの「デザイン」→「レポートのレイアウト」のところで切り替えることもできるんだけど※20、「従来の~」にすると自動的に「表形式」に設定されますのでご安心ください。
でね、見た目に関しては好みの問題もあると思うので一概には言えないのですが…、この「表形式」の方にしておくと、コピって別シートに貼るときに扱いやすいんですよ。 なので、特に見た目にこだわりがなければ、「表形式」をオススメします。 後々、使っていくうちに、「表形式」の良さがジワジワ実感できる、かもしれません。

「デザイン」→「レポートのレイアウト」で表示形式を選べる デフォルトは「コンパクト形式」だが使い勝手はよくない
※20 「デザイン」→「レポートのレイアウト」で表示形式を選べる デフォルトは「コンパクト形式」だが使い勝手はよくない

Excel2007の場合は、オプションで「従来のピボットテーブル レイアウトを使用する」を選んだだけだと「表形式」になってくれないので、それに加えて上↑画面のように、
「デザイン」→「レポートのレイアウト」→「表形式で表示
をセレクトしてください。 そうすると、上と同じ見映えになりますので。

ということで、ピボットテーブルを使用する際は、従来のピボットテーブル レイアウトを使用するを設定しておくことをオススメします。 以降の記述も、この設定下で行わせていただきますので(これが冒頭で語っていた「自分のやり方を押し付ける」です)。 スミマセン。

従来のピボットテーブルレイアウトで、ピボットテーブルに触る

さて、ではでは。 設定ができたところで、もう一度、さきほどと同じように「掲載ページ」と「商品名」を配置してみましょう。 まず、「掲載ページ」をドラッグして、メイン画面の一番左のフィールドに直接ドロップします※21

「掲載ページ」を直接つっこむ
※21 「掲載ページ」を直接つっこむ

先ほどやったときと同じように、各掲載ページが表示されました。 ちなみに、右下の「行」のところにも情報が納まっています。 「従来の~」を設定しはしましたが、「行」や「値」の方にドラッグすることも可能ですので。
では次に、「商品名」を隣のフィールドにドラッグします※22

「商品名」をその隣につっこむ
※22 「商品名」をその隣につっこむ

先ほど「値」にドラッグしたときと同じになりました※23

隣のフィールドにドラッグすると、「値」として表示される
※23 隣のフィールドにドラッグすると、「値」として表示される

では、次にですね…、一度「商品名」のチェックを外して元に戻して、今度は隣のフィールドとの境界にドラッグします※24
そう! 「工」の字になるところ、そこです!

境界線上に挿入すると…
※24 境界線上に挿入すると…

そうすると、「行」に持っていったときと同じように、行方向の項目として表示されます※25

「行」にもってったときと同じになる
※25 「行」にもってったときと同じになる

「従来のピボットテーブル レイアウトを使用する」にしたときの使用感は、こんな感じになります。 覚えておきましょう。

ところで…、「集計」って項目が増えてますね。 これは何かと言いますと…、試しに、「価格」を隣のフィールドにぶっこんでください※26。 境目じゃないですよ。 「値」として、です。

「価格」をその隣のフィールドにドラッグ
※26 「価格」をその隣のフィールドにドラッグ

そうすると、「集計」の正体がわかります※27

価格の一覧と、各ページの価格の合計が表示
※27 価格の一覧と、各ページの価格の合計が表示

「集計」のところには、各掲載ページごとの価格の合計が算出されてるんですね。 おー。 便利。

ちなみに、「集計」を表示させないこともできます。 ピボットテーブルのなかの「掲載ページ」のところをダブルクリックすると「フィールドの設定」が表示されるので、そこで小計:なしを選んでください※28 ※29。 「集計」行が消えます。 ここで、集計の仕方を変えることもできます。 つまり、合計じゃなくて、平均値にしたりすることもできますので。

集計行をナシにするには、「掲載ページ」をダブルクリック
※28 集計行をナシにするには、「掲載ページ」をダブルクリック
「小計:なし」にすると、集計行がなくなる
※29 「小計:なし」にすると、集計行がなくなる

ということで、「炎電器チラシ」のデータを、好きなようにいじくってみてください。 みなさんのお仕事に合う使い方が、あるかもしれません。

…そうそう。
ちなみにね、わたしからひとつ、ピボットテーブルの使い方の例として。
「メーカー名の一覧がほしい」ってオーダーがあったとするじゃないですか。 そういうとき、ピボットテーブルを使うと、かんたんにできちゃったりするんです。
最初の状態に戻して、「メーカー名」を「行」として、一番左のフィールドにドラッグしてください。 すると…※30 ※31

「メーカー名」だけピボットする すると…
※30 「メーカー名」だけピボットする すると…
メーカー名の重複なしリストができあがる
※31 メーカー名の重複なしリストができあがる

こうすると、「メーカー名」の一覧が、重複ナシでできあがるんですね。 あとは、コイツをコピって、別シートか何かに貼りつける。 データのおしりに「総計」ってのが入っちゃうんで、そいつは貼りつけた後削除してやらなきゃいけないんだけど、こうすると、けっこうかんたんに重複なしリストができちゃうんです。
いかがでしょうか。

 ・
 ・
では、適当にピボットテーブル、いじってみてください。 好きなようにしてかまいませんので。

もっと、ピボットテーブルに触る

…まあ、「自由にしていいよ」なんて言われても、往々にして何をしてよいかわからなくなったりするものですよね。
なので、先に進むことにしましょう。 次のシート「成績表」を開いてください※32

2つ目のシート 成績表
※32 2つ目のシート 成績表

いつもの(?)5人衆のテストの結果です。 テストは3回実施しました。 科目は英語・数学・国語です。

<この機会にちょっとお話>
本筋とは関係ない話なのですが…。 このサンプルデータのテストの点数、まあサンプルデータなので実際のところキャラクターとして山田はテストで何点ぐらいとれる学力なのかとか岩鬼は実は頭良さそうとかどうでも良いんですが、さしあたり手で入力するのがめんどうだったので、ランダム関数ってヤツを使いました。 使い方は、=rand()と式を入れましょう。 かっこの中は何もナシでOK。 そうすると、0~1の小数がランダムに登場します(0および1は含まず)。
ただ、それだとテストの点数っぽくならないので、round関数で小数点下2ケタまでにして、×100しました。 まあ、ダウンロードしていただいてるデータは、すでに値貼りされているんですけどね。

では、コイツのピボットテーブルを作成しましょう※33
作成手順は…、「挿入」→「ピボットテーブル」でしたね。

pivoってみる
※33 pivoってみる

すると、新しくピボットテーブル用シートが作成されるんでしたよね※34
あ、そうそう、オプションを開いて、「従来のピボットテーブル レイアウト」にしておいてくださいね。

「従来の~」を設定しておく
※34 「従来の~」を設定しておく

さて、ピボットテーブルで、何をしましょうかねえ。
…とりあえず左から、「テスト区分」「教科」「氏名」「点数」の順でデータを配置してみましょうか。 その際、「点数」だけは値として配置してくださいね。 値として、つまり、境界線上ドラッグじゃない方、ですよ※35 ※36

「テスト区分」「教科」「氏名」「点数」の順に配置 「点数」は値としてセットすること すると…
※35 「テスト区分」「教科」「氏名」「点数」の順に配置 「点数」は値としてセットすること すると…
こんな感じになる
※36 こんな感じになる

できました?
こうすると、1回目のテスト/2回目のテスト/3回目のテストそれぞれの、教科ごとの結果が並びます。

…ですが。
1点残念なのは、「英語 集計」「国語 集計」となっているところ、ここが合計値になっちゃってるんです。 ふつう、教科ごとの集計において先生がほしいデータって、平均値ですよね※37

平均値がほしい
※37 平均値がほしい

なので、ヘッダー名の「教科」のところをダブルクリックして、小計:指定とし、平均を選択します※38。 そうすると、平均値が表示されますので。

小計:平均を設定
※38 小計:平均を設定

せっかくなので、「テスト区分」のところも平均にしてやってください。 そうすると、1回目のテスト全体(英・数・国)の平均も表示されるようになりますので※39

同様の手順で「テスト区分」も平均に
※39 同様の手順で「テスト区分」も平均に

「テスト区分」「教科」「氏名」「点数」の順にピボットテーブルに配置すると、上↑のような見え方になります。
では、違う配置だったらどうなるか…?
試してみましょう。 いったん初期状態に戻してください。 そして今度は、「氏名」「テスト区分」「教科」「点数」の順で配置してください。 さっきと同じく、「点数」は値として、ですよ。
配置できたら、「テスト区分」の小計を「自動」に戻しておいてください。 すると…※40

個人別の成績表に
※40 個人別の成績表に

「氏名」を一番左に配置すると、個人別の集計結果が出るんですね。 岩鬼くん、2回目のテストの結果がハンパ無いです。
あ! そうだ。 「氏名」のところの集計方法を「平均」にしてやると、各人の平均点が出るのでよりステキな表になるかもしれません。 キャプチャ画面では小計:自動のままですが、みなさんの方でいじくってみてください。
こんなふうに、ピボットテーブルは、データを配置する順番によって、いろんな意味合いの表をつくることができるんですね。

なので、ちょっと工夫すると、こんなことも↓できます※41

英・数・国を横(列)方向に配置
※41 英・数・国を横(列)方向に配置

やり方は、「テスト区分」「氏名」を通常どおり行として配置し、その上で、「教科」を上方のフィールドにドラッグします※42。 …そう! そこ! 「ここに列のフィールドをドラッグします」と書いてあるところです。

上部フィールドを使うと、横(列)方向に配置できる
※42 上部フィールドを使うと、横(列)方向に配置できる

あとは、「点数」を値としてドラッグすればOKですので。

と、いうことで、「成績表」データも、みなさんのお好きなようにこねくりまわしてください。 いろいろいじくり倒すなかで、使い方が身に付くと思いますので。

では、最後のシート「リルガミンビル」について※43

3つ目のシート
※43 3つ目のシート

こちらはですね…、ビルのテナントの売上、という設定なのですが、…えーと、みなさんの方で適当にいじってみてください(笑)。 …イヤイヤ、手抜きじゃないですよ。 練習用です、練習用。
ピボットテーブルを使うと、このデータから、
・日付別の売上げ
・カテゴリ別(レディースファッション/メンズファッション/…)のデータ
・フロア毎の売上げ
とか、いろいろ割り出せると思います。 なので、いろいろいじくってみて、ピボットテーブルの使い方、模索してみてください。
…てなわけで、シーユーアゲン!

Copyright(C)森田表計算