Power QueryでCSVの重複を削除する方法|商品コードだけで消さない安全な手順

2026年9月13日 | Excel・Power Query

複数の売上CSVを結合すると、同じ行が二重に入ることがあります。Power Queryの「重複の削除」を使えば整理できますが、選ぶ列を間違えると正常な注文まで消えてしまいます。

この記事では、注文番号と商品コードの組み合わせを基準にして、削除前後の件数を確認しながら処理する方法を説明します。

練習用CSVで試せます

3か月分の架空売上データ15件を使います。同じ商品が複数回売れているため、重複判定の列を選ぶ練習ができます。

練習用CSVをダウンロード

ZIP形式/架空データ/登録不要

最初に「何を重複とするか」を決める

見た目が似ていても、同じ商品が別の日に売れた行は重複ではありません。業務上の意味を確認し、1件を特定できる列を選びます。

判定方法結果
行全体が同じ同じCSVを二重に取り込んだ場合の確認に向く
注文番号だけ1注文に複数商品がある場合、必要な明細まで消える
商品コードだけ別日に売れた同じ商品まで消えるため危険
注文番号+商品コード注文明細を特定できる場合の基本的な判定方法
商品コードだけで重複を削除しません。
今回のサンプルは15件ありますが、商品コードだけで削除すると6件しか残りません。正常な売上9件を失うことになります。

重複を削除する手順

  1. Excelで対象のクエリを開き、Power Queryエディターを表示します。
  2. 左端の行番号を確認し、削除前の件数を記録します。
  3. 「注文番号」列を選び、Ctrlキーを押しながら「商品コード」列も選びます。
  4. 選択した列の見出しを右クリックし、「重複の削除」を選びます。
  5. 右側の「適用したステップ」に重複削除が追加されたことを確認します。
  6. 削除後の件数と、数量・金額の合計を削除前と比較します。
  7. 問題がなければ「閉じて読み込む」でExcelへ戻します。

削除前に重複行を確認したい場合

いきなり削除せず、どの行が重複しているか確認したい場合は、元のクエリを右クリックして「複製」します。複製した確認用クエリで「注文番号」と「商品コード」をグループ化し、行数を数えます。

  1. 「ホーム」から「グループ化」を選びます。
  2. 詳細設定へ切り替え、「注文番号」と「商品コード」をグループ列にします。
  3. 新しい列名を「件数」、操作を「行数のカウント」にします。
  4. 件数が2以上の行だけに絞り込みます。

この方法なら、削除対象の注文を先に一覧で確認できます。元データを修正すべきか、取込側で除外すべきかも判断しやすくなります。

新しい行を残したいときの注意

重複のうち更新日時が新しい行を残したい場合は、単純な「重複の削除」だけに頼らず、グループ化して最大の更新日時を求め、その結果を元データと結合する方法が安全です。

並べ替えた後に先頭行だけを残す方法は手軽ですが、更新条件が増えると判断根拠が分かりにくくなります。「同じキーなら更新日時が最大の行を採用する」とルールを明示します。

削除後に確認する数字

「エラーが出なかった」だけで完了にしません。減った件数を説明でき、金額への影響が想定どおりか確認します。

まとめ

Power Queryで重複を削除するときは、先に1件を特定するキーを決めます。売上明細なら、商品コードだけではなく注文番号との組み合わせで判定するのが基本です。削除前後の件数と合計値も必ず残しましょう。

小さな会社のExcel自動化50選の表紙

Excel自動化を安全に進めたい方へ

『小さな会社のExcel自動化50選』では、Power Queryを含む改善策を確認ポイント付きで紹介しています。

Amazonで本を見る

※著者本人による著書紹介です。価格や提供条件はAmazonでご確認ください。