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

この記事ではその続きとして、店舗ごとの集計の下に、全店の合計の行を追加します。私の資料では、店舗を選ぶプルダウンに「合計」も入れていて、「合計」を選ぶと全店の数字が出るようにしています。店舗も全店も、同じ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_アイス」のような検索値になるので、店舗のときと同じ式のままで、全店の数字が出ます。全店用に別の式を用意する必要はありません。
プルダウンの作り方は、別の記事で紹介する予定です。
まとめ
- 「参照」を使うと、店舗別のクエリをもとに全店合計のクエリを作れる
- 全店合計は、店舗の列を削除してグループ化し、「店舗」の列に「合計」を入れる
- 「クエリの追加」で、店舗別の下に全店合計を足す。列名を合わせるのを忘れない
- 検索キーは最後の「集計」で作り、シートに書き出すのも「集計」だけにする
- プルダウンに「合計」を入れれば、同じ式で全店の数字も出せる

