オーロラさんの勉強帳

IT企業勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。少しでもお役に立てたら幸いです。

【Access】【初心者】重複データを抽出したい

こんばんは。
皆さんは、データのなかで重複したデータだけを抽出したいときなどありますか?
その際、どのようにして抽出していますか?

私は重複データだけを抽出したいときが結構あり、Excelで各列を文字列結合して、その文字列に対してCOUNTIF関数で2以上のデータ(重複データ)を抽出しています。

ただ、別部署が用意したデータをCSVでシステムに一括アップデートする際の事前にデータの重複を確認する場合などにExcelを使っていると、データが多すぎて途中でExcelが落ちたり、関数がうまく働かなかったり、かなり困るケースがありました。

 


それを解決するのが、『Access』の重複データの抽出機能(重複クエリウィザード)です!!
重複データの抽出はいつもExcelで上記の通り抽出していたり、調べるにしても「Excel」「重複」「抽出」などでExcelを使うことをベースに考えていたので、Accessでできると聞いたときには、目からうろこでした!!


今回は、Accessで重複データを抽出する方法を勉強がてら記事にしたいと思います。
Accessって全然使ったことがないんですが、使いこなせたらかなり自分の武器になりますね。少しずつ勉強しよう。

 

では、ここからが重複データを抽出する方法です。

 

まずは、練習用のテーブルを用意しました。

f:id:auroralights:20200531003833p:plain

 

次に「クエリウィザード」を選択し、表示されれた「新しいクエリ」ダイアログボックスから「重複クエリウィザード」を選択します。

f:id:auroralights:20200531004107p:plain

※今回はテーブルを保存していなかったので、テーブルを保存するMsgと保存画面が表示されたので、「重複データ抽出」という名前でテーブルを保存しました。

 

 

重複データを調べるテーブルまたはクエリを選択する画面が表示されるので
重複データを調べたいテーブルを選択し、「次へ」を選択する。

f:id:auroralights:20200531004410p:plain

 

重複データを調べるフィールドを選択する画面が表示される
今回は部門CD、社員CD、氏名の組み合わせが重複しているデータを抽出したいので
部門CD、社員CD、氏名を選択する
(選択可能なフィールドから選択したフィールドに移す)

f:id:auroralights:20200531004552p:plain

 

クエリ結果に表示する他のフィールドを選択する画面が表示される。
IDも結果に表示させるため、IDを選択する
(選択可能なフィールドから選択したフィールドに移す)

f:id:auroralights:20200531004755p:plain

 

クエリ名を任意で設定し、完了を選択する

f:id:auroralights:20200531004933p:plain

 

重複しているデータが表示される

f:id:auroralights:20200531005110p:plain

 

重複したデータが抽出されたら、
あとは集計しなおすなり、削除するなり、担当部署に連携してデータを差し戻すなり
その時々の対応ができる。

 

Access便利ですね。
まだ何ができるのか全然分かっていないですが、Excelと組み合わせて、より効率的に仕事できるようになりたいなぁ。

 

それでは。