Power Queryエディター上で重複レコードを削除したい場合、どうしたら良いですか?
では、詳細を解説していきますね。
目次[閉じる]
解説動画
この記事の内容は下記の動画「【パワークエリ#6】データクレンジング基本テクニック13選 – 元データを綺麗にするための不備修正の作業を自動化する」でも解説しています。
コメント欄の目次の時間部分をクリックすると該当の解説へジャンプできますよ!
はじめに
この記事はパワークエリの概要を把握していることが前提です。
パワークエリの概要は以下の記事をご参照ください。
「重複の削除」コマンドとは、Power Queryエディター上で表の重複レコードを削除する機能
「重複の削除」コマンドは、クエリの新規作成ステップのうち、Step 2の「取得データを整形/加工(Transform)」に該当する機能です。

機能自体は、ワークシート上の「重複の削除」コマンドと似ています。
クエリ内の一連の整形作業の中で、表の重複レコードを削除したい場合に「重複の削除」コマンドを使いましょう。

「重複の削除」コマンドの活用により、Power Queryエディター上で表の重複レコードをすべて削除できます。
特定の列で重複を判定し、重複があった各データ(アイテム)のうち2番目以降の行を削除。
なお、Power Queryエディター上の「重複の削除」コマンドは、英数カナの半角/全角、英字の大文字/小文字も含めて完全に一致しているものが削除対象です。
ワークシート上の「重複の削除」コマンドは、英字の大文字/小文字の表記ゆれは削除対象になるといった違いあり。
上記の表記ゆれがある場合、事前に別ステップで表記を統一しておく必要あり。
一例として、「商品コード」列を対象に「重複の削除」コマンドを使用し、重複レコードを削除したものが以下です。

この通り、Power Queryエディター上で重複レコードを削除したステップを記録できました。
「重複の削除」コマンドの場合、デフォルトのステップ名は「削除された重複」になる(クエリ内で2つ目以降の「削除された重複」ステップは連番が付加)。
後は、クエリ新規作成ステップのStep 2とStep 3を行いましょう。
これにより、クエリに記録した「重複の削除」コマンドのステップを自動化できます。
「削除された重複」ステップを記録後、対象の列名を変更すると、クエリ更新時にエラーになるため注意(対処法は後述)。
クエリの新規作成ステップのStep 2に役立つ各種コマンドや、Step 3の手順の詳細を知りたい方は、パワークエリの概要記事をご参照ください。
【Excel】パワークエリ(Power Query)とは?できることや使い方入門【動画あり】
「重複の削除」コマンドの使用手順
「重複の削除」コマンドは、以下の手順で使用します。

- 重複を判定したい列を選択
※今回は「商品コード」列 - リボン「ホーム」タブをクリック
- 「行の削除」をクリック
- 「重複の削除」をクリック
手順①は、原則主キーの列を選択することがおすすめ。
主キーとは、そのレコードが一意(重複していない)であることを示すためのコードや番号のこと(代表例として、社員番号や商品コードなど)。
手順②③は、手順①の列の見出し(ヘッダー)上で右クリックでもOK。
「削除された重複」ステップの変更手順
「重複の削除」コマンドで記録した「削除された重複」ステップを後から変更する場合、以下の手順で変更しましょう。

- 「削除された重複」ステップを削除(「×」をクリック)
- 再度「削除された重複」ステップを記録
手順①のステップ名は、「重複の削除」コマンドのデフォルトの名前(自身でリネームしている場合は別表記)。
サンプルファイルで練習しよう!
可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。
サンプルファイル_PowerQueryデータ整形_重複の削除.xlsx
ブックを開いたら、「商品マスタ(重複の削除)」クエリを編集(Power Queryエディター起動)し、次の手順を実施してください(今までの解説のまとめです)。
ブック起動時、「セキュリティの警告」メッセージが表示された場合は「コンテンツの有効化」をクリック。
- 重複を判定したい列を選択
※今回は「商品コード」列 - リボン「ホーム」タブをクリック
- 「行の削除」をクリック
- 「重複の削除」をクリック
本記事の解説と同じ結果になればOKです!
さいごに
いかがでしたでしょうか?
「重複の削除」コマンドの活用により、Power Queryエディター上で表の重複レコードをすべて削除できます。
クエリに取り込んだ時点で重複レコードがある場合以外にも、他の整形作業によって不要な重複レコードが発生した場合にも有効なため、ぜひ覚えておきましょう!
なお、パワークエリの各種テクニックは、私の拙著でも体系的に解説していますので、こちらも参考にしてみてください。
ご参考になれば幸いですm(_ _)m
たとえば、条件に一致したレコード以外を削除する「フィルター」や、表の上下の不要な行を削除する「上位の行の削除」・「下位の行の削除」コマンドです。
不要な行/列のデータは早めに削除することで、データ量を最小化でき、後続の他の整形作業や、集計/分析の作業効率も上がりますよ!

コメント Comments
コメント一覧
コメントはありません。
トラックバックURL
https://excel-master.net/data-utilization/data-shaping/power-query-delete-duplicate-records/trackback/