重複したレコード(行)を削除する方法[Power Query(パワークエリ)基礎]
AさんAさん

Power Queryで整形したい表に重複したレコードがあります。これを削除するにはどうしたら良いですかね?

森田森田

よくあるケースですね。
その場合、Power Queryエディター上の「重複の削除」が有効ですよ!

具体的な使い方について解説していきますね。

はじめに

本題に入る前に、この記事がおすすめな方を挙げてみます。

  • 表の重複したレコードの削除を自動化したい方
  • データ整形・加工の工程が複数あり、かつその作業が定期的に発生する方
  • Power Query(パワークエリ)の使い方を習得したい方

前提条件

この記事のテクニックを使うためには、以下の条件を満たす必要があります。

  • ExcelのバージョンはExcel2010以降(Microsoft365含む)が必須
  • Excel2010/2013ユーザーの場合、事前にMicrosoft社公式HPよりPower Query(パワークエリ)のダウンロードが必要(Excel2016以降は標準機能)
  • Power Query(パワークエリ)の概要を理解していること
    →まず、以下の記事で概要を把握することをおすすめします。

表に重複したレコードがある場合に「重複の削除」が有効

「重複したレコード」とは次のようなイメージです。

文字通り、同じレコードが重複しているわけですね。

これは、ヒューマンエラーなどで入力を重複させてしまうなどが主な原因です。

この重複した状態のままデータ集計してしまうと、当然ながら集計結果が誤ったものになってしまいますので、重複部分を削除する必要があります。

こうした場合、Excelワークシート上では次のような方法で対処することが一般的です。

  1. リボン「データ」タブにある「重複の削除」コマンドを利用する
  2. 作業列へCOUNTIFS関数などで重複判定を行い、該当部分を削除する
  3. 条件付き書式で重複部分に色付けし、該当部分を削除する

ただし、他のデータ整形作業とセットで行うなら、Power Query(パワークエリ)で行った方が、一連の作業手順を記録できて自動化できますよ!

では、Power Query(パワークエリ)での「重複の削除」の手順を確認していきましょう。

Power Query(パワークエリ)での「重複の削除」手順

今回の前提として、「重複の削除」を行う対象テーブルはブック内にあり、事前にPower Queryエディターに取り込んでいる状態からスタートするとします。(ブック内のデータ取得について復習したい方は下記記事を参照)

まず、重複レコードが含まれる列を選択(①)します。

続いて、リボン「ホーム」タブをクリック(②)し、「重複の削除」をクリック(③)すればOKです。

ワンポイントアドバイス

手順①は基本的に主キーの列を選択すると良いです。

ちなみに、主キーとは、そのレコードが一意(重複していない)であることを示すためのコードや番号のことです。
代表例として、社員番号や商品コードなどがあります。

【参考】右クリックメニュー経由でもOK

「プレビュー」ウィンドウ上で手順①まで選択したら、右クリックメニューでも「重複の削除」が可能です。

どちらの手順でも問題ありませんので、状況に合わせてお好きな方をお使いください。

「プレビュー」ウィンドウ上で重複レコードの削除が確認できたらOK

「プレビュー」ウィンドウを見ると、無事重複していたレコードが削除され、全レコードが一意になっていますね!

あとは、その他の処理を行い、任意の方法でデータを出力すれば完了です。

【参考】「重複の削除」の内容を変更したい場合は

もし、あとで「重複の削除」の内容や対象データを変更したい場合は、「クエリの設定」ウィンドウの該当のステップを一旦「×」で削除し、改めて「重複の削除」の処理を行えばOKです。

サンプルファイルで練習しよう!

可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。

サンプルファイル_PowerQueryデータ整形_重複の削除.xlsx

※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)

ファイルを開いたら、重複レコードの削除を行う前に、Power Queryエディターを起動させてくださいね。
ブック起動時、「セキュリティの警告」メッセージが表示された場合は「コンテンツの有効化」をクリックしてください。

  1. リボン「データ」タブをクリック
  2. 「クエリと接続」をクリック
  3. 「商品マスタ(重複の削除)」クエリをダブルクリック

ここまで準備ができたら、次の手順を実施してください。(今までの解説のまとめです)

  1. 重複レコードが含まれる列を選択
  2. リボン「ホーム」タブをクリック
  3. 「重複の削除」をクリック

本記事の解説と同じ結果になればOKです!

さいごに

いかがでしたでしょうか?

重複レコードの削除はPower Query(パワークエリ)における基本中の基本のテクニックです。

特に、人が手入力した表を元データとして扱う際は、利用頻度が高まりますので、ぜひ覚えておきましょう。

なお、Power Query(パワークエリ)の各種テクニックは、私の拙著でも体系的に解説していますので、こちらも参考にしてみてください。

ご参考になれば幸いですm(_ _)m

森田森田

そもそもレコードの重複が発生しないように完全に入力制御することが理想的です。
しかし、現実では完全に制御しきれない場合もあり得るため、そうした場合に「重複の削除」が非常に便利ですね。

Power Query(パワークエリ)を活用し、手早く正確にきれいなデータに整えていきましょう!