OFFICE系

Excelで重複データを削除する方法

SQLのINSERT文を作成する場合に、Excelを使用してVALUEデータを作成する場合があります。

INSERT INTO [dbo].[Sample]
 ([ID]
 ,[flg]
 ,[update]
 ,[value]
 ,[group]
 ,[count])
VALUES
(4205,0,'2016-05-16 23:00:00.000',1,'k',13),
(4206,0,'2016-05-16 23:00:00.000',1,'k',1),
(4207,0,'2016-05-16 23:00:00.000',2,'k',4)

このときのVALUESに入れるデータはExcel上で作成し、そのデータを利用してSQL文としてVALUE部分をテキストで作成することがあります。そのときのExcelは以下のようなデータとなります。

Excelイメージ

しかし、データベース上で「ID」がプライマリーキーに設定されている場合、Excelで作成したデータに重複するIDが存在していればSQL実行時に制約違反となってしまいます。データが大量にある場合、目視でデータの重複を確認することは困難です。実際、上のサンプルデータでもID「4207」が重複しているのですが、お気づきでしょうか?

重複したデータを削除する

1.この重複したデータはExcelの標準機能を使って削除することができます。表をクリックした状態で「データ」タブの「重複の削除」をクリックします。

Excelイメージ2

2.「重複の削除」画面が表示されますので、重複が含まれている列を選択し、OKボタンを押下します。(ここではすべての列にチェックをいれています。)

Excelイメージ3

3.すべての項目が重複していた行が削除されます。ID「4237」の次の行に「4207」が重複していたのですが、削除されいることが確認できます。

 

Excelイメージ4

SQL文の作成時以外にも、重複したデータが不要なケースは比較的多くあると思いますので、知っていると少し便利なExcelの機能の紹介でした。

タイトルとURLをコピーしました