しごと自動化レシピ

WORK RECIPE Power Query

Power Queryで顧客別の売上合計と明細件数を同時に出す

顧客コードごとに売上金額と明細件数をまとめます。合計が一致しても明細の重複が隠れないよう件数を併記し、集計結果が何件の入力から作られたかを確かめる基本レシピです。

変換処理を実機確認

確認日時:2026-10-17T07:32:27.0715492Z

確認環境:{"excel_version": "16.0", "excel_build": 20430, "os": "Windows (64-bit) NT 10.00", "engine": "Microsoft.Mashup.OleDb.1 / native Excel Power Query"}

確認した範囲

  • 記事と同等の変換処理をMコードにして実際のExcel Power Queryエンジンで実行
  • 記録の入力例と結果の行・列・値を照合
  • 元のダミーファイルのバイト列が不変

未確認・対象外

  • 記事のGUIクリック経路
  • MコードとGUIが生成するステップの完全一致
  • 他Excel版・他OS
  • 実業務データ

実機での処理結果の確認と、記事の全画面操作の確認は別です。実行確認の記録(JSON)で確認結果と原稿のSHA-256を参照できます。

できあがるもの

C01は売上合計300・明細件数2、C02は50・1となる想定です。グループ化は顧客の名寄せや二重登録の自動修正ではなく、コードが同じ行の集計です。

始める前に

  • Windows版Excel for Microsoft 365のPower Query。確認環境と範囲は本記事の実行確認欄を参照してください。
  • 業務原本と分離した検証用ブックを用意し、出力は新しいワークシートに読み込む。
  • ExcelテーブルSalesを作り、金額列を数値にできるサンプルを使う。
入力例

Salesは顧客コード・金額でC01/100、C01/200、C02/50の3行。月を混ぜない検証として、全行が同じ対象月の明細であると決めます。

手順

  1. SalesからPower Queryへ取り込み、顧客コードをテキスト、金額を数値へ設定します。型変換エラーがあれば合計する前にエラーだけの確認用クエリへ分けます。
  2. ホーム→グループ化で詳細設定を選び、顧客コードをキーにします。売上合計は金額列の合計、明細件数は行数のカウントの2つの集計を設定します。
  3. 詳細エディターで確認する場合は Table.Group(Source,{"顧客コード"},{{"売上合計",each List.Sum([金額]),type number},{"明細件数",each Table.RowCount(_),Int64.Type}}) がこの処理の例です。Sourceは直前ステップ名です。
  4. 結果を顧客コード昇順に並び替えます。グループ化後に元の並びが保たれると仮定せず、必要な順を最後のステップで指定します。
  5. 新しいシートへ読み込み、売上合計の総計350・明細件数の総計3を元表と照合します。C01へ同じ100の行を足すと件数3・合計400へ変わるため、重複明細は別検査だと確認します。

期待結果と照合する

C01は売上合計300・明細件数2、C02は50・1となる想定です。グループ化は顧客の名寄せや二重登録の自動修正ではなく、コードが同じ行の集計です。

まずこの入力例で確認し、件数や値が一致しているかを見ます。完了表示だけで判断せず、重複・空欄・対象外データも残っていないか確認してください。

うまくいかないとき

  • null金額を無条件に0へ変えると未入力を隠します。欠損件数を先に確認する手順を設けます。
  • 返品を負数で入れるか別の区分にするかで売上の意味が変わります。対象の明細定義をそろえます。

止める・元に戻す

グループ化ステップを削除するか出力クエリを削除します。Salesの元明細は変わらないため別軸で再集計できます。

公式資料・対応範囲

参照日:2026-10-17。公式資料の一般的な機能説明と、本記事固有の入力例の実行検証は別です。実務での短縮時間や効果は未計測です。

同じツールで試す

Power Queryの記事一覧へ →