パワークエリの操作中、右クリックで現れる「重複の削除」メニュー。
「なんか便利そうな機能だけど、データが壊れるのが怖くて触れない。」
実際、誤って使うと大切なデータを失ってしまうという怖さから、慎重になってしまうのも無理はありません。
この記事では、そんな不安を解消しながら、パワークエリの重複削除機能で何ができるのかを、具体例を交えて分かりやすく解説していきます。
もくじ
パワークエリだけでなく、同じ処理を実行できる他のExcel機能の紹介も交えながら、どのような時に何を使ったらいいかも詳しく解説します。
パワークエリで重複削除を行う基本手順
以下の販売実績データは、すでにパワークエリで読み込まれ、エディタで編集可能な状態です。
現在のデータ件数を確認すると、最終行は「200行」と表示されています。
これから、重複削除を実行し、データ件数がどのように変化するかを見ていきましょう。
【ステップ1】1項目だけの重複を削除する
まず、表の「氏名」列をサンプルに、1項目だけの重複削除を実行する手順を紹介します。
- 「氏名」列を選択
- 右クリックメニューから「重複の削除」を選択
実行前の表をよく見ると、氏名が2〜3件ずつ連続して重複しているのが分かります。
右クリックメニューの「重複の削除」をクリックします。
すると、氏名ごとの重複がまとめられ、20行のデータに集約されました。
【ステップ2】複数項目で重複を削除する
次に複数項目を同時に処理するため、「氏名」「申込日」「商品名」の3列を同時に選択します。
1項目設定と同様に、右クリックメニューの「重複の削除」を実行してみましょう。
実行後、最終行の件数は192行に減少しました。
つまり、8件の重複データが削除されたことになります。
【補足】使用される関数「Table.Distinct」
パワークエリで重複削除を行うと、数式バーにTable.Distinct
関数が自動設定されます。
1項目を設定した場合、その項目だけが数式に含まれます。
3項目を設定した場合、3項目とも数式に含まれます。
必要に応じて、数式バーを直接編集して項目設定を変更することも可能です。
このように、パワークエリの「重複の削除」機能を活用することで、データの整合性を保ちながら効率的に重複データを処理できます。
パワークエリの重複削除がおすすめな場面
重複削除はExcelでもいろいろな方法がありますが、パワークエリで行うことで効果を発揮するシーンを紹介します。
複数項目にまたがる重複をまとめたいとき
例えば、「氏名」だけでなく「申込日」や「商品名」など、複数の列の組み合わせで重複を判断したい場合、パワークエリの重複削除はとても便利です。
後で触れますが、手軽に使えるUNIQUE関数は特定の複数列を選ぶことはできません。
毎月・毎週など定期的にデータが更新されるとき
定期的に新しいデータが追加される場合、毎回手作業で重複を削除するのは煩わしさを感じるのではないでしょうか。
パワークエリで重複削除を設定しておけば、次回以降は「更新」ボタンを押すだけで自動で処理されます。
元データはそのまま残して結果だけ整理したいとき
他の機能で重複を削除すると、元データまで変わってしまうこともあります。
元データはそのまま残して結果だけ整理したい時は不本意ではないでしょうか?
一方、パワークエリは「読み込んで別の形に加工する」仕組みなので、元のデータは一切変更せず、出力だけ整った状態にできるのが特徴です。
これらの場面に当てはまるなら、パワークエリでの重複削除を選ぶ価値は十分にあります。
次は、他の方法と何がどう違うのかを具体的に比較してみましょう。
【比較】同じ「重複削除」ができるExcel機能との違い
データタブの重複削除
Excelのデータタブには、「重複の削除」という機能があります。
この機能でも、重複データを削除することは可能です。
実際にメニューをクリックすると、設定ダイアログが表示されます。
対象の項目にチェックを入れましょう。
重複していないデータの最初の行のみが残り、2つ目以降のデータが削除されます。
この機能の問題点は、元データが残らないということです。
元データを残したい場合は、Excelブックのバックアップをとるか元データを別のシートに貼り付けておくのが安全です。
手軽ではありますが、使いどころを間違えると大事なデータを失うリスクがある点には注意しましょう。
UNIQUE関数
UNIQUE関数はExcelのスピル(配列)関数の一つで、重複を自動的に除外した一覧を生成します。
引数に対象の範囲を設定するだけです。
ここで、テーブル「購入データ」の項目「氏名」という構造化参照を指定してみます。
すると、氏名のリストが重複されない状態で表示されました。
UNIQUE関数はとても手軽な関数ですが、一項目分のみまたはテーブル全体に限られます。
実際に、テーブル全体を設定してみます。
2件の重複項目が結果から排除されました。
UNIQUE関数では、テーブル内の特定の複数項目を選択することはできません。
パワークエリの「グループ化」機能
パワークエリには「重複削除」だけでなく、「グループ化」という似た機能があります。
これは、指定した列の組み合わせごとにデータをまとめて集計する機能です。
グループ化機能を使う場合は、集計値の設定が必要です。
重複削除が目的でグループ化を使う場合、行数のカウントがおすすめです。
詳細設定で複数項目を設定することも可能です。
唯一のデメリットは、重複削除のように一瞬で整理できないことです。
グループ化メニューはパワークエリの中の一機能なので、元データが消えることはありません。
【注意】重複削除だけで安心しない!データクレンジングで本当に必要なこと
パワークエリの重複削除はとても便利ですが、それだけでデータの不整合がすべて解決するわけではありません。
あくまで「同じ値を除外する」という表面的な対処であり、
その重複が発生した背景や原因までは教えてくれません。
重複には“意味のある”パターンもある
たとえば、「同じ氏名・同じ日付・同じ商品」で重複しているレコードがあった場合、それが入力ミスなのか、正しい複数の申込なのかは、パワークエリでは判断できません。
単純に削除してしまうと、必要なデータまで消してしまうリスクもあります。
原因を探るには「グループ化+中身の確認」が重要
重複の背景を理解するには、パワークエリの「グループ化」機能を使って「どの組み合わせが何回出現しているか」を可視化するのがおすすめです。
たとえば、「氏名・申込日・商品名」でグループ化し、「件数」列を追加すれば、2件以上の重複がどこで起きているかが一目でわかります。
これにより、削除すべき重複と、残すべきデータを見分ける判断材料になります。
データを“直す”のではなく、“理解する”姿勢が大切
重複削除は、あくまでも「対処療法」です。
本当に大事なのは、なぜその重複が発生しているのかを見極め、必要であれば入力ルールやシステム側の見直しを検討することです。
パワークエリは強力なツールですが、使う側の「気づき」や「判断」があってこそ意味を持ちます。
重複削除を行った後は、ぜひ一度、グループ化で中身を見てみることをおすすめします。
そこに、今まで気づけなかった“本当の問題”が潜んでいるかもしれません。
まとめ
この記事では、Excelで重複データを削除する方法として、パワークエリ、データタブの重複削除機能、UNIQUE関数、グループ化機能を比較しました。
中でもパワークエリは、複数項目に対応し、元データを壊さずに処理できる点が大きな強みです。
ただし、重複削除はあくまで対処法の一つであり、データにどんな不整合が含まれているかを確認する姿勢が欠かせません。
目的や作業環境に応じて、最適な機能を選びましょう。