Excelの「ピボットテーブル」の機能はご存知でしょうか。大量のデータをさまざまな角度から集計・分析することができ、お仕事にも大変役立つ機能です。 表内の項目名を指定するだけで簡単に集計表を作成することができます。 ピボットテーブルは1つの表から作成できますが、実は複数の表を使って作成することもできます。
ではどのような時に複数の表からピボットテーブルを作成するのでしょうか?
売上の管理などを1つの表で行っていると「販売先ID」「販売先名」「商品ID」「商品名」「単価」「金額」「担当者名」など、 列(フィールド)の数も多く、データの件数が増えるにつれてデータが膨大になってしまいます。 そうなると、入力に時間がかかったり、ミスが発生したりします。また、内容が変更された場合は、修正箇所が多くて作業も時間がかかります。
そこでまず、データをテーマごとに分けて複数の表にします。 例えば「販売先」「商品」「注文」「明細」といった表に分けます。 そして複数の表に分けたデータを相互に参照して活用できるように、共通の項目(フィールド)を使って、関連付けます。 これが「リレーションシップ」という仕組みになります。
Accessをお使いになったことがある方は、この「リレーションシップ」はご存知かと思います。では、複数の表からピボットテーブルを作成する前に、「リレーションシップ」について理解しておきましょう。
「リレーションシップ」とは「関連付け」という意味で、表同士を共通のフィールドで関連付けることをいいます。具体的には、関連付ける相互の表に共通のフィールドを設定し、そのフィールドを結びつけます。共通のフィールドの一方は表内で重複しない値が入ります。もう一方は、同じデータが重複する可能性があります。例えば「商品」の表と「明細」の表の例では「商品ID」が双方の表に設定されています。注文があった商品の情報を調べるには、まず「明細」の表にある「商品ID」を調べ、次に「商品」の表で同じIDを検索して、該当する商品の情報を得ます。このようにリレーションシップを設定したフィールドを介して、1つの表と同じように、商品名や単価などを参照できるようになります。複数に分けた各表のデータを最大限に活用することができるのです。
「複数の表に分け、そして表同士をつなぐために共通フィールドを設定する。」ここまで出来たら次にすることは何でしょうか。 複数の表からピボットテーブルを作成するには、集計に使う表を「テーブル」に変換しておく必要があります。 「テーブル」とは、書式設定や抽出や集計などのデータベース管理が簡単にできるように工夫された表のフォーマットのことです。 あらかじめ「テーブル」に変換しておかないと、「リレーションシップ」を設定することができず、複数の表からピボットテーブルを作成できないのです。
表から「テーブル」に変換すると、テーブルスタイルが適用され、フィルターモードが使えるようになります。
テーブルに変換するには、変換したい表内をクリックし、「挿入」タブを選択 → 「テーブル」グループにある「テーブル」をクリックします。
さらに、変換したそれぞれのテーブルには「商品」や「販売先」といった名前を付けます。 「テーブルツール」の「デザイン」タブを選択 → 「プロパティ」グループにあるテーブル名のボックスにテーブル名を入力しEnterを押します。
リレーションシップを設定したい全ての表を「テーブル」に変換しておきます。
集計したい表を「テーブル」に変換出来たら、次はいよいよリレーションシップの設定です。 今回は2つのテーブルをリレーションシップで関連付けてみます。 「商品」テーブルの「商品ID」フィールドと「明細」テーブルの「商品ID」フィールドに設定します。 リレーションシップを設定するには、「リレーションシップの管理」ダイアログボックスから操作します。 任意のテーブルの任意のセルを選択 → 「データ」タブ → 「データツール」グループにある「リレーションシップ」をクリックします。
「リレーションシップの管理」ダイアログボックスが表示されたら、「新規作成」をクリックします。
「テーブル」に「明細」テーブルを選択し、「列(外部)」に関連付けする「商品ID」フィールドを選択します。 「関連テーブル」に「商品」テーブルを選択し、「列(プライマリ)」に関連付けする「商品ID」フィールドを選択し、「OK」をクリックします。
※「テーブル」と「関連テーブル」の意味 リレーションシップの編集ダイアログボックスで「テーブル」と「関連テーブル」に指定するテーブルは、参照する情報が格納されたテーブルを「関連テーブル」に、そうではない方のテーブル(同じ値が繰り返して入力されるフィールドを含んだテーブル)を「テーブル」に指定します。
リレーションシップが設定され、「リレーションシップの管理」ダイアログボックスに戻ります。 「閉じる」をクリックします。
これで、「商品ID」を使用して、商品名や分類、単価などを参照してくることができます。
※同様の方法で、必要に応じて他のテーブルも共通フィールド同士で関連付けさせることができます。
複数の表をテーブルに変換し、テーブル同士にリレーションシップを設定したら、複数のテーブルをもとにピボットテーブルを作成します。 ここでは、リレーションシップの設定されている2つのテーブル「商品」と「明細」のデータを使って集計します。 「商品」テーブル内をクリックし、「挿入」タブ → 「テーブル」グループにある「ピボットテーブル」をクリックします。
「ピボットテーブルの作成」ダイアログボックスが表示されたら、「テーブル/範囲」に現在選択しているテーブル名が表示されていることを確認します。新規ワークシートの方を選択し、「このデータをデータモデルに追加する」にチェックを入れて「OK」をクリックします。
※「データモデル」とは、複数のテーブルから構成される一連のデータのことです。データモデルに追加すると、 複数のテーブルを元にピボットテーブルを作成するには、データモデルにデータを追加する必要があります。
ピボットテーブルのフィールドウィンドウが表示されたら、「すべて」をクリックすると、リレーションシップで関連付けたテーブルが全て表示されるようになります。
では、2つのテーブルをもとに集計表を作成してみましょう。 「商品」テーブルの「商品名」フィールドを行エリアへドラッグします。次に、「分類」フィールドを列エリアへドラッグします。
続いて、「明細」テーブルの「金額」フィールドを値エリアへドラッグします。
商品名ごと、分類ごとの金額の集計を確認できる集計表が出来上がりました。 これで、2つのテーブルのデータを利用してピボットテーブルを作成することができました。
複数の表からピボットテーブルを作成する方法、いかがでしたでしょうか。 複数に分けた表を「テーブルに」変換し、「リレーションシップの設定をする」というこの2点がポイントです。 もちろん、1つだけの表を利用してリレーションシップの設定を行わないでもピボットテーブルは作成できます。しかし、テーマごとに表を分けて相互に参照する仕組みを設定することで、各表のデータをシンプルに作ることができ、データ管理がしやすくなります。 お仕事などで、「なんだかデータの管理や分析がしづらい…」と日々感じている方は、ぜひ一度、表の構成を確認してみてください。まずは各表をテーマごとに分けてシンプルにすることです。そして、共通フィールドを設ければ、別々の表をまとめて集計することは、意外と簡単にできることがわかるでしょう。顧客管理や売上管理を一元管理する上では知っておくと、とても便利なExcelのピボットテーブル機能。ぜひお試しください!
この記事の著者:石田 亜希子
東京パソコンアカデミーでExcelピボットテーブルを基本から学びたい方は「Excel講座」がおすすめです。
Copyright © 2019 by KOHGAKUSHA Co. Ltd All rights reserved.