しごと自動化レシピ

WORK RECIPE Power Query

Power Queryで同一注文IDの重複を削除せず一覧化する

注文IDが重複する行を保持して監査用一覧へ出します。最新の行が残ると決めつけて削除する方法を避け、金額の違う同じIDも担当者が比較できる点検クエリを作ります。

変換処理を実機確認

確認日時: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/100とO01/120の2行となる想定です。O02とO03は候補に出ません。どちらを採用すべきかはこの一覧だけでは確定しません。

始める前に

  • Windows版Excel for Microsoft 365のPower Query。確認環境と範囲は本記事の実行確認欄を参照してください。
  • 業務原本と分離した検証用ブックを使い、出力は新しいシートへ読み込む。
  • ExcelテーブルOrdersAuditを用意し、注文IDは大文字英数字のテキストに統一する。
入力例

OrdersAuditは注文ID・金額。O01/100、O02/200、O01/120、O03/50を入力。O01は金額が異なる同一IDで、後の行が正しいとは事前に決めません。

手順

  1. OrdersAuditからPower Queryを開き、注文IDをテキスト型へ設定します。空欄IDは別途確認対象へ分け、重複チェックで正常と見なさないようにします。
  2. 注文ID列だけを選択し、ホーム→行の保持→重複の保持を実行します。金額列も一緒に選ぶとIDと金額の組み合わせで重複を探すことになり、今回の目的と変わります。
  3. クエリ名を注文重複候補とし、注文IDで明示的に並び替えます。元行順を正誤判断の根拠にせず、必要なら取込元ファイルや登録日時を追加して調査します。
  4. 新しいワークシートへ読み込み、O01の2行が残るかを確認します。全列が同じ重複だけを消したい場合も、ID重複と全列重複の目的を別にして処理を作ります。
  5. 元表にo01を追加する確認を行う場合、Power Queryの文字列比較が大文字小文字を区別することに注意します。大文字化を行うならコード仕様を確認し、原文列を残してから変換します。

期待結果と照合する

重複候補はO01/100とO01/120の2行となる想定です。O02とO03は候補に出ません。どちらを採用すべきかはこの一覧だけでは確定しません。

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

うまくいかないとき

  • 重複の削除で必ず先頭や最新の行が残るとは保証されません。並び替えてから削除するだけで最新選択としないでください。
  • 大小文字や空白の正規化で別コードが同じになることがあります。原文と変換後キーを比較してから運用します。

止める・元に戻す

重複保持ステップまたは出力クエリを削除します。OrdersAudit原本を直接削除していないため、全件一覧へ戻せます。

公式資料・対応範囲

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

同じツールで試す

Power Queryの記事一覧へ →