【Excel】パワークエリで店舗ごとの集計の下に全店の合計を追加する|参照とクエリの追加

Excel・業務効率化

前の記事では、パワークエリのグループ化で、ローデータを店舗・月・カテゴリごとにまとめました。

【Excel】パワークエリで大量データを軽くする|グループ化で行数を減らして集計する
1年分で約20万行のローデータをSUMIFSで集計して重かったExcelを、パワークエリのグループ化で約6,000行にまとめて軽くした方法を紹介します。月の列の作り方、不要な列の削除、店舗・月・カテゴリでのグループ化、更新の仕方まで書いています。

この記事ではその続きとして、店舗ごとの集計の下に、全店の合計の行を追加します。私の資料では、店舗を選ぶプルダウンに「合計」も入れていて、「合計」を選ぶと全店の数字が出るようにしています。店舗も全店も、同じXLOOKUPの式で出せます。

なお、この記事の表や手順は説明のために作ったもので、実際に使っているExcelとは作りが違います。例の数字も架空です。

全体の流れ

クエリを3つ使います。

  • 「店舗別」:前の記事で作ったクエリ。ローデータを店舗・月・カテゴリごとにまとめる
  • 「全店合計」:店舗別をもとに、月・カテゴリごとの全店の合計を出す
  • 「集計」:店舗別の下に全店合計を足して、検索キーを作り、シートに書き出す

シートに書き出すのは最後の「集計」だけです。「店舗別」と「全店合計」は、「接続の作成のみ」にして、シートには書き出しません。

店舗別のクエリを準備する

前の記事で作ったクエリを「店舗別」という名前にして使います。中身はこのようになっています。

店舗月カテゴリ金額
本店10アイス2,500
本店10菓子1,400
駅前店10アイス1,700
本店11アイス900

検索キーはこのクエリでは作らない

前の記事では、このクエリでA列に検索キーを作りました。今回は、検索キーは最後の「集計」のクエリで作ります。

店舗別で検索キーを作っていると、それをもとにする全店合計にも、店舗名が入ったままの検索キーが残ってしまうためです。前の記事どおりに作っている場合は、Power Queryエディターの右側の「適用したステップ」から、検索キーを追加したステップと列を移動したステップを、×で削除しておいてください。

「接続の作成のみ」にする

[データ]タブ→[クエリと接続]で、右側にクエリの一覧を出します。「店舗別」を右クリック→[読み込み先]を選び、「接続の作成のみ」にして[OK]を押します。シートに書き出していたテーブルは消えますが、クエリは残ります。

前の記事で書き出したテーブルをXLOOKUPで見ている場合は、テーブルが消えると式が #REF! になります。このあと「集計」をテーブルで書き出したら、式の参照先を集計のテーブルに変えてください。

全店合計のクエリを作る

店舗別を参照する

クエリの一覧で「店舗別」を右クリック→[参照]を選びます。店舗別の結果をもとにした新しいクエリができるので、名前を「全店合計」に変えます。

参照しておけば、ローデータを更新したときも、店舗別と全店合計が一緒に更新されます。

店舗の列を削除してグループ化する

店舗の列を選んで右クリック→[削除]で削除します。

次に、[ホーム]タブ→[グループ化]→「詳細設定」で、「月」と「カテゴリ」でグループ化し、金額を合計します。店舗の区別がなくなるので、全店を合わせた金額になります。

店舗の列を足して「合計」を入れる

[列の追加]タブ→[カスタム列]を押して、新しい列名を「店舗」、式を次のようにします。

"合計"

すべての行の店舗が「合計」になります。

月カテゴリ金額店舗
10アイス4,200合計
10菓子1,400合計
11アイス900合計

列名は、必ず店舗別と同じ「店舗」にしてください。このあとの「クエリの追加」は列名で列を合わせるので、名前が違うと別の列として扱われます。列の並びが店舗別と違っていても、名前が同じなら正しくつながります。

できたら、[ホーム]タブ→[閉じて読み込む]の▼→[閉じて次に読み込む]で、「接続の作成のみ」を選びます。

店舗別の下に全店合計を足す

クエリの追加

Excelの画面に戻ったら、[データ]タブ→[データの取得]→[クエリの結合]→[追加]を選びます。「2つのテーブル」のまま、最初のテーブルを「店舗別」、2番目のテーブルを「全店合計」にして[OK]を押します。

新しいクエリができるので、名前を「集計」に変えます。店舗別の行の下に、全店合計の行が縦につながります。

「クエリのマージ」という似た名前の機能もありますが、こちらは列を横に足す機能です。行を縦に足すときは「クエリの追加」を使います。

検索キーを作って書き出す

前の記事と同じように、[列の追加]タブ→[カスタム列]で「検索キー」の列を作り、先頭に移動します。

[店舗] & "_" & Text.From([月]) & "_" & [カテゴリ]

[ホーム]タブ→[閉じて読み込む]を押すと、「集計」だけがテーブルでシートに書き出されます。

検索キー店舗月カテゴリ金額
本店_10_アイス本店10アイス2,500
本店_10_菓子本店10菓子1,400
駅前店_10_アイス駅前店10アイス1,700
本店_11_アイス本店11アイス900
合計_10_アイス合計10アイス4,200
合計_10_菓子合計10菓子1,400
合計_11_アイス合計11アイス900

「合計」を選んで全店の数字を出す

集計のシートでは、店舗を選ぶプルダウンに、店舗名と一緒に「合計」も入れておきます。検索値は、選んだ店舗・月・カテゴリを「_」でつないで、A列の検索キーからXLOOKUPで探します。

「合計」を選べば「合計_10_アイス」のような検索値になるので、店舗のときと同じ式のままで、全店の数字が出ます。全店用に別の式を用意する必要はありません。

プルダウンの作り方は、別の記事で紹介する予定です。

まとめ

  • 「参照」を使うと、店舗別のクエリをもとに全店合計のクエリを作れる
  • 全店合計は、店舗の列を削除してグループ化し、「店舗」の列に「合計」を入れる
  • 「クエリの追加」で、店舗別の下に全店合計を足す。列名を合わせるのを忘れない
  • 検索キーは最後の「集計」で作り、シートに書き出すのも「集計」だけにする
  • プルダウンに「合計」を入れれば、同じ式で全店の数字も出せる
タイトルとURLをコピーしました