しごと自動化レシピ

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を参照できます。

できあがるもの

O01には文具、O02には分類nullが付き、受注2行が残る想定です。マスターへP01を重複させる検証ではO01が複数行へ展開され得るため、重複検査の必要性を確認します。

始める前に

  • Windows版Excel for Microsoft 365のPower Query。確認環境と範囲は本記事の実行確認欄を参照してください。
  • 業務原本と分離した検証用ブックを用意し、出力は新しいワークシートに読み込む。
  • ExcelテーブルOrdersとProductsを作り、両方の商品コードをテキストにする。
入力例

Ordersは注文ID・商品コード・数量でO01/P01/2、O02/P99/1。Productsは商品コード・分類でP01/文具、P02/備品。列見出しを完全に一致させます。

手順

  1. 両表をOrders入力とProducts入力の接続専用クエリにします。Productsの商品コードはグループ化の行数などで重複・空欄がないか先に確認します。
  2. Orders入力を開き、クエリのマージを新規として実行します。上段Orders入力、下段Products入力でそれぞれ商品コードを選び、結合の種類を左外部にします。
  3. 追加された表の列を展開し、分類だけを選びます。全件の一致を前提とする内部結合を選ぶとP99が消えるため、この確認表では左外部で残します。
  4. 分類nullだけをフィルターして未登録コードを調べます。確認後は適用したステップからそのフィルター行ステップを削除し、O01・O02の両行表示へ戻します。未確認の分類は自動追加しません。
  5. 閉じて新しいシートへ読み込み、出力行数と数量合計が元の2行・3個を保つか確認します。行が増えた場合はマスターの重複を解消してから再更新します。

期待結果と照合する

O01には文具、O02には分類nullが付き、受注2行が残る想定です。マスターへP01を重複させる検証ではO01が複数行へ展開され得るため、重複検査の必要性を確認します。

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

うまくいかないとき

  • 左右で数値型とテキスト型が違うと同じ表示でも一致しない場合があります。結合前に型を統一します。
  • マスター重複による増行後に数量を合計すると過大計上します。出力の行数検査を省略しません。

止める・元に戻す

確認用の分類nullフィルターステップを残さず削除します。全体を戻す場合はマージ後のクエリとシートを削除し、元表は残します。検証用マスター重複も取り除きます。

公式資料・対応範囲

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

同じツールで試す

Power Queryの記事一覧へ →