Excelで大量のデータを扱っていると、意図せず重複したデータが含まれていることがあります。
これらの重複データを手作業で削除するのは非常に手間がかかり、ミスも発生しやすいです。
Power Queryを使えば、この重複データの削除作業を自動化し、効率的にクリーンなデータを作成できます。
この記事では、Power Queryを使った重複データの削除方法を、具体的な手順とともに解説します。
【要点】Power Queryで重複データを削除する手順
- Power Queryエディターでの重複削除: Excelのテーブルから重複行を削除する基本的な方法を説明します。
- 複数列を基準にした重複削除: 特定の列の組み合わせで重複を判定し、削除する方法を解説します。
- 重複しないデータのみ抽出: 重複しているデータを除外し、ユニークなデータのみを残す方法を説明します。
ADVERTISEMENT
目次
- 1 Power Queryで重複データが発生する仕組み
- 2 Power Queryで重複データを削除する基本的な手順
- 3 ExcelテーブルからPower Queryにデータを取り込む
- 4 Power Queryエディターで重複データを削除する
- 5 複数列を基準に重複データを削除する方法
- 6 複数列を選択して重複を削除する手順
- 7 重複しないデータのみを抽出する方法
- 8 重複しない行を抽出する手順
- 9 Power Queryの高度な重複データ処理
- 10 M言語を使った重複データ処理の例
- 11 Power Queryの重複削除機能における注意点
- 12 Power QueryとExcel標準機能での重複削除の比較
- 13 まとめ
Power Queryで重複データが発生する仕組み
Power Queryは、Excelなどの様々なデータソースからデータを取得し、整形・加工するための強力なツールです。
データソース側での入力ミス、複数のシステムからのデータ統合、またはデータ更新時の不整合など、様々な要因で重複データは発生します。
Power Queryの「重複の削除」機能は、指定した列の値が完全に一致する行を重複とみなし、最初の出現行を残してそれ以降を削除する、という仕組みで動作します。
Power Queryで重複データを削除する基本的な手順
ここでは、Excelファイル内のテーブルから、Power Queryを使って重複データを削除する最も基本的な手順を解説します。
ExcelテーブルからPower Queryにデータを取り込む
- Excelテーブルの準備
重複データを削除したいデータが、Excelのテーブル形式になっていることを確認してください。テーブルになっていない場合は、「挿STRUCTION」タブ > 「テーブル」をクリックしてテーブルに変換します。 - Power Queryへのデータ読み込み
テーブル内の任意のセルを選択した状態で、「データ」タブ > 「テーブルまたは範囲から」をクリックします。Excelのバージョンによっては、「データの取得」グループにある「テーブル/範囲から」をクリックします。 - Power Queryエディターの起動
「テーブルの作成」ダイアログが表示されたら、範囲が正しく選択されていることを確認し、「OK」をクリックします。Power Queryエディターが起動し、データが表示されます。
ADVERTISEMENT
Power Queryエディターで重複データを削除する
- 重複を削除したい列の選択
Power Queryエディターのプレビュー画面で、重複を削除したい対象の列ヘッダーをクリックして選択します。 - 重複削除機能の実行
「ホーム」タブの「行の削除」グループにある「重複の削除」をクリックします。 - 重複削除の完了
選択した列の値が重複している行が自動的に削除され、ユニークなデータのみが残ります。 - 変更の適用と読み込み
「ホーム」タブの「閉じて読み込む」グループにある「閉じて読み込む」をクリックします。重複が削除されたデータが新しいExcelシートにテーブルとして読み込まれます。
複数列を基準に重複データを削除する方法
単一の列だけでなく、複数の列の値の組み合わせで重複を判定したい場合もあります。例えば、「商品ID」と「注文日」が両方一致する行を重複とみなしたい場合などです。
複数列を選択して重複を削除する手順
- Power Queryエディターでの複数列選択
Power Queryエディターで、重複判定の基準としたい複数の列ヘッダーを、Ctrlキーを押しながらクリックして選択します。 - 重複削除機能の実行
選択した状態で、「ホーム」タブの「行の削除」グループにある「重複の削除」をクリックします。 - 複数列基準での重複削除完了
選択したすべての列の値が一致する行のみが重複とみなされ、削除されます。 - 変更の適用と読み込み
「ホーム」タブの「閉じて読み込む」から、結果をExcelに読み込みます。
重複しないデータのみを抽出する方法
重複を削除するのではなく、重複しているデータを除外して、ユニークなデータだけを残したい場合があります。例えば、顧客リストで一度しか購入履歴がない顧客だけを抽出したい場合などです。
重複しない行を抽出する手順
- Power Queryエディターでの列選択
重複判定の基準としたい列、または複数の列を選択します。 - 重複しない行の抽出機能
列ヘッダーの右側にあるフィルターボタン(▼)をクリックします。 - 「重複しない値」の選択
表示されるメニューから「重複しない値」を選択します。 - 抽出結果の確認
選択した列で重複していない値を持つ行のみが抽出され、プレビュー画面に表示されます。 - 変更の適用と読み込み
「ホーム」タブの「閉じて読み込む」から、結果をExcelに読み込みます。
Power Queryの高度な重複データ処理
Power Queryでは、標準の「重複の削除」機能以外にも、M言語(Power Queryの関数群)を駆使することで、より複雑な重複データ処理が可能です。
M言語を使った重複データ処理の例
例えば、「特定の列が重複している行のうち、最新のレコードのみを残したい」といった要件の場合、標準機能だけでは対応が難しいことがあります。
このような場合は、「グループ化」機能と「最大/最小」などの集計関数を組み合わせたり、カスタム列を追加してソートしてから重複を削除したりといった高度なテクニックが必要になります。
M言語を直接編集できる「詳細エディター」を利用することで、これらの複雑な処理を記述できます。
Power Queryの重複削除機能における注意点
Power Queryの重複削除機能は非常に便利ですが、いくつか注意すべき点があります。
大文字・小文字の区別
デフォルトでは、Power Queryの重複削除は、大文字と小文字を区別しません。
例えば、「Apple」と「apple」は、Power Query上では同じ値として扱われます。もし、大文字・小文字を区別して重複を判定したい場合は、列を複製し、片方の列で大文字・小文字を変換するステップ(例:「テキスト操作」>「大文字」または「小文字」)を追加してから、それらの列を基準に重複削除を行う必要があります。
空白文字・全角半角の扱い
意図しない空白文字(スペース、タブなど)の混入や、全角と半角の混在も、重複とみなされない原因となります。
重複削除を実行する前に、「トリム」(前後の空白削除)や「クリーン」(改行コードなどの削除)、「テキストの置換」(全角を半角に置換など)といった前処理を適用しておくことが重要です。
データ型による影響
数値データと文字列データが混在している場合、意図しない結果になることがあります。
例えば、「123」という数値と「123」という文字列は、Power Queryでは異なるデータ型として扱われるため、重複とみなされない可能性があります。重複削除を行う前に、各列のデータ型を適切に設定しておくことを推奨します。
削除される行の順序
Power Queryの「重複の削除」機能は、条件に合致する最初の行を残し、それ以降の重複行を削除します。
どの行が残るかは、データが読み込まれた際の順序に依存します。もし、特定の基準(日付など)で並べ替えた上で、最新または最古のレコードを残したい場合は、重複削除の前に並べ替え(ソート)のステップを追加する必要があります。
Power QueryとExcel標準機能での重複削除の比較
Excelには、Power Query以外にも重複データを削除する機能があります。ここでは、両者の違いを比較します。
| 項目 | Power Query | Excel標準機能 |
|---|---|---|
| 処理の自動化 | ◎ 繰り返し処理を自動化できる | △ 手動での実行が必要 |
| データソース | Excelファイル、データベース、Webなど多様 | Excelシート内のデータ |
| 操作の履歴 | ◎ 全てのステップが記録され、修正・再実行が容易 | △ 履歴が残らず、元に戻すのが難しい場合がある |
| 複数列基準 | ◎ 容易に設定可能 | ◎ 設定可能 |
| データ量への対応 | ◎ 大量データに強い | △ データ量が多いと処理が遅くなる |
| 柔軟性 | ◎ 高度な加工・整形が可能 | △ 基本的な重複削除のみ |
| 学習コスト | △ 初心者にはやや敷居が高い | ◎ 容易に理解できる |
まとめ
Power Queryを使えば、Excelの重複データを効率的かつ自動的に削除できます。
列を選択して「重複の削除」をクリックするだけで、クリーンなデータセットを素早く作成可能です。
複数列を基準にした重複削除や、重複しないユニークなデータのみを抽出する操作も簡単に行えます。
今後は、このPower Queryの重複削除機能を活用し、データの前処理にかかる時間を大幅に削減していきましょう。
さらに複雑なデータクリーニングが必要な場合は、Power Queryの「グループ化」機能やM言語の活用も検討してみてください。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Outlook】「メール送信を5分遅らせる」設定!誤送信を防ぐ最強のディレイ機能
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
