Excelで大量のデータを扱うとき、「部署ごとの売上合計を出したい」「日付ごとに件数を数えたい」などの集計作業が必要になることがあります。
こうした処理を手作業で行うのは手間がかかり、ミスの原因にもなります。
そこで役立つのが Power Queryの「グループ化」機能 です。
グループ化を使えば、データを特定の項目でまとめて、合計・平均・件数などを自動で集計できます。
この記事では、Power Queryのグループ化の基本操作から応用テクニックまで、図解イメージを交えてわかりやすく解説します。
Power Queryとは?
Power Queryは、ExcelやPower BIに搭載されているデータ取得・変換ツールです。
「データを整える」「結合する」「不要な列を削除する」など、Excel関数では大変な処理を簡単なクリック操作で自動化できます。
特にビジネス現場では、CSVや会計システムのデータを集計・加工する作業が日常的に発生します。
Power Queryを活用すれば、一度設定しておくだけで次回以降の更新もワンクリックで完了するため、作業効率が大幅にアップします。
その中でも「グループ化」は、データを特定の単位でまとめて分析する際の中心機能 です。
グループ化とは?基本の考え方を理解しよう
グループ化とは、指定した列の値ごとにデータをまとめる機能です。
たとえば、「部署」列を基準にグループ化すると、同じ部署名のデータが1つにまとまり、合計や平均などの集計を行うことができます。
例)売上データのグループ化
| 部署 | 社員名 | 売上金額 |
|---|---|---|
| 営業 | 田中 | 100000 |
| 営業 | 鈴木 | 120000 |
| 開発 | 山田 | 80000 |
| 開発 | 佐藤 | 95000 |
この表を「部署」でグループ化し、「売上金額の合計」を求めると、次のようになります。
| 部署 | 売上合計 |
|---|---|
| 営業 | 220000 |
| 開発 | 175000 |
このように、グループ化を使えば、Excel関数やピボットテーブルを使わなくても簡単に集計できます。
グループ化の基本操作手順
Power Queryでグループ化を行う手順は次の通りです。
- データをPower Queryエディターに取り込む
Excelの「データ」タブ → 「データの取得」 → 「テーブルまたは範囲から」をクリックします。 - グループ化したい列を選択する
Power Queryエディターで、「部署」や「日付」などまとめたい列をクリックして選択します。 - [変換]タブ → [グループ化]をクリック
グループ化の設定画面が表示されます。 - グループ化の種類を選択
「グループ化の基準」と「集計の種類(合計・平均・件数など)」を指定します。 - OKをクリックして完了!
結果が表示され、同じ値を持つ行が1つにまとまります。
グループ化で使える主な集計方法
Power Queryのグループ化では、さまざまな集計を自動で実行できます。代表的なものを以下に紹介します。
| 集計方法 | 説明 | 使用例 |
|---|---|---|
| 合計 | 数値の合計を求める | 売上金額の合計 |
| 平均 | 数値の平均値を求める | 単価や在庫の平均 |
| 件数 | 行数をカウントする | 注文数や件数の集計 |
| 最小値 | 最も小さい値を取得 | 最安値、最短時間 |
| 最大値 | 最も大きい値を取得 | 最高売上、最長期間 |
| すべての行 | グループ化されたすべての行をテーブルとして保持 | 明細を残して詳細分析する場合に便利 |
特に「すべての行」は応用範囲が広く、後述するように複数の集計を一度に行う際などに役立ちます。
複数の集計を同時に行う方法
たとえば、「部署ごとに売上合計と平均単価の両方を表示したい」場合は、グループ化設定画面で「操作を追加」をクリックします。
設定例
- グループ化の基準:部署
- 集計列1:売上金額 → 合計
- 集計列2:売上金額 → 平均
結果は以下のようになります。
| 部署 | 売上合計 | 平均売上 |
|---|---|---|
| 営業 | 220000 | 110000 |
| 開発 | 175000 | 87500 |
このように複数の集計を同時に設定することで、効率的な分析が可能になります。
「すべての行」を使って詳細データを保持する
単純な集計ではなく、「部署ごとにどの社員がいるかも確認したい」といった場合には、「すべての行」を使います。
グループ化の設定で「新しい列名:詳細」「操作:すべての行」を選ぶと、各グループの中に元データのテーブルが保持されます。
その後、「詳細」列の右端にある展開アイコン(⮟)をクリックすることで、必要な情報だけを再展開できます。
これは「サブテーブル」を作るようなイメージで、グループごとの詳細を後から柔軟に扱える便利なテクニックです。
グループ化を活用した応用例
1. 日付ごとの件数集計
日報データを「日付」列でグループ化し、「件数」をカウントすると、日別の報告数をすぐに集計できます。
2. 顧客ごとの購入金額集計
顧客IDでグループ化して「金額の合計」を取ることで、顧客ごとの売上を簡単に算出できます。
3. カテゴリ別の平均単価計算
「商品カテゴリ」列を基準にして「単価の平均」を出すことで、カテゴリーごとの平均価格を分析できます。
4. チーム別の成績ランキング
チームでグループ化し、「すべての行」を保持した上で、各チーム内でスコア順に並べ替えるなど、柔軟な分析も可能です。
グループ化の注意点とコツ
- データ型を確認する
数値として集計する列が「文字列」になっていると、正しく合計できません。事前に「型の変更」で正しいデータ型にしておきましょう。 - 不要な列は削除しておく
集計対象以外の不要な列が多いと処理が重くなります。グループ化の前に整理するのがおすすめです。 - 複数のグループ化を組み合わせる
たとえば「部署」→「日付」と2段階でグループ化すれば、部署別・日別の集計も可能です。 - M言語でのカスタマイズも可能
Power Queryの数式バーを使えば、Table.Group関数を直接記述してより細かい制御ができます。
Table.Group関数の基本構文
Power Queryの内部では、グループ化は Table.Group 関数で処理されています。
以下は基本構文の例です。
Table.Group(
ソーステーブル,
{"部署"},
{
{"売上合計", each List.Sum([売上金額]), type number},
{"平均売上", each List.Average([売上金額]), type number}
}
)
上記のように、Mコードを直接操作することで、GUIではできないような柔軟な集計も可能になります。
グループ化とピボットテーブルの違い
| 比較項目 | Power Queryのグループ化 | ピボットテーブル |
|---|---|---|
| 主な目的 | データ変換・前処理 | データ分析・表示 |
| 集計の更新 | 自動更新可能 | 手動で更新が必要 |
| 処理対象 | 複数ソース・クレンジング向け | 単一データ範囲向け |
| 柔軟性 | 高い(結合・変換可) | 見やすさ重視 |
グループ化は「分析前のデータ整形」に最適であり、ピボットテーブルと併用するとさらに効果的です。
まとめ
Power Queryの「グループ化」は、Excel作業を自動化・効率化するうえで欠かせない機能です。
- データをまとめて合計・平均などを算出できる
- 「すべての行」で詳細データも保持できる
- 複数の集計を同時に行うことも可能
- M言語を使えばさらに柔軟な集計が可能
一度グループ化の仕組みを理解すれば、次回以降の集計もワンクリックで完了します。
毎日のExcel業務をよりスマートにするために、ぜひPower Queryのグループ化機能を活用してみてください。
