Excelから始めるBI入門

VLOOKUPから卒業!Excel×Power Pivotで“つなぐ”データ分析術

はじめに

日々の業務で蓄積されていくExcelデータ。そのデータをもっと効果的に活用し、ビジネスの意思決定に直結する「価値ある分析」をしたいと感じたことはありませんか?特に部署横断的なデータや複数のシートにまたがる情報を扱う際、VLOOKUPやSUMIFSでは限界を感じることもあるでしょう。

そんなときにこそ活用したいのが「Power Pivot(パワーピボット)」です。Excel標準のピボットテーブルを拡張し、より高度なデータ分析を可能にしてくれる強力なツールで、"Excelの中のデータベース"とも呼ばれるほどの機能です。
本記事では、Power Pivotの概要から、メリット、さらには「アンケート回答リスト」と「社員情報」を使ったリレーション(関係性)の活用法まで、実例を交えて詳しくご紹介します。Excelユーザーならぜひ習得しておきたいPower Pivotの魅力を一緒に体感していきましょう。

Power Pivotとは?

Power Pivotとは、Excelに追加できるアドイン機能で、大量データを効率的に処理・分析できるデータモデリング機能です。特に「複数の表をつないで分析したい」「高度な計算をしたい」ケースで非常に役立ちます。

通常のExcelでは、一つの表に全てのデータを集約し、VLOOKUPなどで結びつける必要があります。しかしこの方法は、表が大きくなりすぎて管理が煩雑になったり、処理が遅くなったりする問題があります。

Niwa
Niwa

業務で参照関数が多数組み込まれており、「ファイルを開くだけでも、数分かかる・・・」という状況に出くわしたことが多々あります。

一方で、Power Pivotでは複数の「テーブル」を関係づけて「モデル」として管理できます。リレーション(関係)を定義すれば、異なるシートやファイルにある情報をあたかも一つのデータベースのように扱うことができ、ピボットテーブル上で自由に分析ができるのです。

Power Pivotを活用すれば、ExcelだけでBIツール並みのデータ分析が可能になります。データを「構造化して扱う」ことができる点が、Power Pivotの最大の特徴です。

Power Pivotの利点

Power Pivotの最大の利点は、大規模かつ複数テーブルにまたがるデータを柔軟に分析できる点です。特に以下のようなシーンで真価を発揮します。

複数表を横断して集計できる

例として「アンケート回答リスト」と「社員情報」を使う場合、従業員IDをキーとして結びつければ、「部署ごとのイベント参加状況」や「時短勤務社員の満足度平均」といった複雑な集計も簡単に実現可能です。

Excelの制限を超えるパフォーマンス

通常のExcelは1シートあたり約100万行の制限がありますが、Power Pivotは内部的に列圧縮されたデータモデルを扱うため、数百万行のデータも軽快に操作できます。

一貫性のあるデータモデル管理

一度モデルを作成すれば、同じロジックで何度でも分析が可能になります。各部署から異なる形式で集まるデータを、統一的に扱える点も業務効率化につながります。

これらの特徴により、Power Pivotは「データを扱う現場の武器」として非常に優れたツールなのです。

Power Pivotを操作してみる

「アンケート回答」と「社員マスタ」のデータを活用しながら、Power Pivotを操作してみましょう。下記のファイルに「作業前のファイル」と「完成ファイル」を配置しています。お手元で画面操作の参考にしてください。

本資料は、「データ可視化」シートには、社員情報の従業員の属性情報(役職、部署など)はVLOOKUPで参照していません
今回は、Power PivotにてVLOOKUPの代替を実現します。

・作業前のファイル(準備まで、完了しています。)

・完成ファイル(すべて完了しています。)

データモデルに追加

1.「従業員ID(B24セル)」にセルを選択した後、「テーブル デザイン」タブから「ピボットテーブルで集計」ボタンを押下する。

2.以下3点を設定する。
・テーブル/範囲(T)
すでにテーブル化されている場合、テーブル名が設定されていることを確認します。
もし、テーブル化されていなく、表のままである場合は、セルの範囲を指定します。

・ピボットテーブルを配置する場所を選択してください
「新規ワークシート」を選択します。

・複数のテーブルを分析するかを選択
このデータをデータモデルに追加するは、チェックをONにします。

3.「従業員ID(A1セル)」にセルを選択した後、「テーブル デザイン」タブから「ピボットテーブルで集計」ボタンを押下する。

4.以下3点を設定する。
・テーブル/範囲(T)
すでにテーブル化されている場合、テーブル名が設定されていることを確認します。
もし、テーブル化されていなく、表のままである場合は、セルの範囲を指定します。

・ピボットテーブルを配置する場所を選択してください
「新規ワークシート」を選択します。

・複数のテーブルを分析するかを選択
このデータをデータモデルに追加するは、チェックをONにします。

5.「Power Pivot」タブより、「管理」ボタンを押下する。

6.アンケート回答リストと社員情報が登録されていることを確認する。

以上で、データモデルへの追加が完了です。

リレーション設定

リレーションとは、2つのテーブル間で共通する「キー項目」(今回で言えば従業員ID)を使って、それぞれのデータを結びつける仕組みです。これにより、異なるテーブルの情報を連携して分析できるようになります。

リレーションの説明はPower BIの記事にて行っていますので、リンク先を参考にしてください。

1.Power Pivotより「デザイン」タブの「リレーションシップの作成」ボタンを押下する。

2.「アンケート回答リスト」から「従業員ID」を選択。「社員情報」より「従業員ID」を選択して、OKボタンを押下する。

3.「ホーム」タブより「ダイアグラムビュー」ボタンを押下する。

4.従業員IDにてリレーションが設定されていることを確認する。

5.「ファイル」タブから「保存」を押下する。保存後、画面右上の「×」ボタンで閉じる。

リレーションの設定は以上です。

集計してみる

実例①:「部署 × 満足度の平均」

1.Sheet1を開く。画面右の「ピボットテーブルのフィールド」にて、「アクティブ」と「すべて」が表示されています。そのうち、「すべて」を選択する。

2.アンケート回答リストから「満足度」、社員情報から「部署」を選択する。
行:部署(アンケート回答リスト)
値:満足度(社員情報)

3.「合計 / 満足度」から「値フィールドの設定」を選択する。

4.「平均」を選択して、「OK」ボタンを押下する。

5.小数点の桁数を調整して完了です。

実例②:「イベント参加有無 × 新卒/転職」でクロス集計

1.Sheet2のピボットテーブルへ以下値を設定する。
フィルター:入社年度(社員情報)
行:新卒/転職(社員情報)
列:イベント参加有無(アンケート回答リスト)
値:従業員IDの件数(=人数)(アンケート回答リスト)

2.フィルターを選択して、「複数のアイテムを選択」にチェックを入れた後、「2024」を選択。OKボタンを押下する。

3.比率で出したい場合、表の中で「右クリック」を行い、「計算の種類」から「行集計に対する比率」を選択する。

4.比率で結果が表示されます。

以上で完了です。

Power Pivotを活用することで、VLOOKUP関数を使用せずに、2つのExcelシートを結合することができました。

Niwa
Niwa

データ量が増えると、VLOOKUP関数による処理性能の低下が頻繁に発生します。また、VLOOKUP関数では参照する列を都度手動で変更する必要があり、その結果、構成が煩雑になり、属人化したExcel集計ファイルが出来上がってしまうケースもよく見受けられます。

Power Pivotとピボットテーブルを活用すれば、すべて設定作業のみで完結できるため、構成シンプルな構成であるため、属人化も防ぐことが可能です。

まとめ

Power Pivotは、Excelにおけるデータ分析の可能性を飛躍的に広げるツールです。従来のExcelの限界を超え、大規模データ・複数テーブル・高度な集計をすべて一元的に管理できるのが特徴です。

BIツールの導入を検討している方も、まずはPower Pivotで一歩踏み出してみてはいかがでしょうか。Excelユーザーにとって、最も身近でパワフルなデータ分析手段。それがPower Pivotです。

-Excelから始めるBI入門
-