【エクセル】重複を削除する方法-データを選ぶ、消す・消さない方法も解説します

当サイトワカルニの記事はPRを含む場合があります。
エクセル 重複 削除 エクセル

「重複データがいっぱいあって手作業じゃ追い付かない」
「重複データ削除の時に優先して残したいデータがあるんだけど…」
「重複してるデータをすべて削除したい!」

表をまとめた時などによく出てくる「重複データ」。
一つ一つ照合しながら手で削除するのはとても大変ですよね。
こんな時に簡単に思い通り重複データを削除できたなら…。

ここでは重複データ削除の基本手順や関係する応用テクニック、そして重複削除をボタン一つで行えるマクロコードまで解説します。
これで今日からすぐに、簡単に重複データを削除できるようになりますよ!

1.重複データ削除の基本手順

では始めに重複データ削除の基本手順から見てみましょう。
重複データの削除には、「重複の削除」機能を使った方法と関数を使った方法の2種類があります。

1-1.「重複の削除」機能の使い方

例えば次のような表があったとします。

エクセル 重複 削除

この時「氏名」で重複しているデータを削除しようとした場合、機能を使った重複の削除は次のように行います。

(1)表全体を選択する(分かりやすいよう重複部分を色分けして表示)
エクセル 重複 削除

(2)「データ」タブにある「重複の削除」をクリックする
エクセル 重複 削除

(3)重複をチェックしたい項目のみにチェックマークをつけ、OKボタンを押す
エクセル 重複 削除

(4)OKボタンを押す
エクセル 重複 削除

(5)完了
エクセル 重複 削除

このようにすれば簡単に重複データが行ごと削除されます。
元の表からデータが削除されても構わない時にこの方法を使いましょう。
なお、複数チェックをつけると「全て重複」している場合にのみデータが削除されます。

ちなみに一つ注意することがあります。
それは「スペースは全角と半角で区別される」ことです。

例えば「〇〇 〇」と「〇〇 〇」は違うものとして処理されるということです。
気を付けましょう。

1-2.関数を使った重複データの削除の仕方

次にCOUNTIF関数とフィルター機能を使った重複の削除の方法を試してみましょう。

(1)E列を作業列としてタイトルを入れ、セルE2に「=COUNTIF($B$2:$B2,B2)」と入力する
エクセル 重複 削除

(2)セルE2の右下にカーソルを当て、「+」マークになったらセルE11まで左クリックを押しながら引っ張る
エクセル 重複 削除

(3)セルA1からE1までのタイトル行を選択する
エクセル 重複 削除

(4)右クリックし、「フィルター」をクリックして「選択したセルのアイコンでフィルター」を選択する
エクセル 重複 削除

(5)セルE1にある▼をクリックし、「1」のみにチェックを入れる
エクセル 重複 削除

(6)表示された表全体を選択し、右クリックして「コピー」をクリックする
エクセル 重複 削除

(7)任意の場所に張り付ければ完了
エクセル 重複 削除

このようにすれば重複分をいた表が出来上がります。

なお、複数条件としたい場合には、セルE2に入れる数式にCOUNTIFS関数を使い、例えば「氏名」と「出身県」であれば数式は「=COUNTIFS($B$2:$B2,B2,$C$2:$C2,C2)」となります。
これによって二つの条件のどちらにも当てはまるか?でカウントがされます。
試してみてください。

2.重複データ削除の応用テクニック!

続いて重複データ削除の応用テクニックを紹介します。
「優先して残したいデータがある場合」や「重複したら両方削除したい場合」についてみてみましょう。

2-1.優先して残したいデータがある時はこうする!

優先して残したいデータがあった時、重複チェックの際2番目以降にあると削除されてしまいます。
その時には並び替えで上のほうに移動させてから「重複の削除」を行いましょう。

例えば先ほどの表で「受講日」の新しいものを残したい場合には、次のように行います。

(1)表全体を選択する(分かりやすいよう氏名の重複を色分けして表示)
エクセル 重複 削除

(2)右クリックを押し、「並び替え」をクリックして「ユーザー設定の並び替え」を選択する
エクセル 重複 削除

(3)列は「受講日」、順序は「降順」を選択する(古いものを上にしたい場合には「昇順」)
エクセル 重複 削除

(4)以下、「重複の削除」機能手順(2)以降を行って重複を削除すれば完了
エクセル 重複 削除

「重複の削除」は一番上にあるデータを残します。
ですからこのように並び替えを行ってから使用しましょう。

2-2.重複したら両方削除したいときには?

次に重複データは両方消したい時の手順です。
この場合には先ほど解説した関数を使った方法を用いて、重複がないデータは「1」、重複がある場合には「2以上」となるよう数式を入れます。

実際にやってみましょう。

(1)E列を作業列としてタイトルを入れ、セルE2に「=COUNTIF($B$2:$B$11,B2)」と入力する
エクセル 重複 削除

(2)セルE2の右下にカーソルを当て、「+」マークになったらセルE11まで左クリックを押しながら引っ張る
エクセル 重複 削除

(3)以下、関数を使った重複削除手順(3)以降を行って重複を削除すれば完了
エクセル 重複 削除

これで重複のないデータだけが取り出せます。実際にやってみてください。

3.重複データ削除のマクロコードはこれだ!

最後に重複データを削除できるマクロコードを紹介します。
先ほどの表を使ってやはり「氏名」の重複をチェックし削除してみましょう。

エクセル 重複 削除

(1)「Alt」+「F11」キーを押し、Visual Basicを開く
エクセル 重複 削除

(2)左のツリー上で右クリックを押し、「挿入」→「標準モジュール」を選択する
エクセル 重複 削除

(3)追加されたModule1に、「Sub~End Sub」までの以下のコードを張り付ける

Sub 重複データの削除()Dim maxRow As Long
maxRow = Cells(Rows.Count, 1).End(xlUp).Row
'データの最終行を取得(下線部分「1」はデータが入っている列番号のいづれか(仮にD2からF20までの表であれば4(D)か5(E)か6(F)))
Range("A1:D" & maxRow).RemoveDuplicates (Array(2))
’(下線部分「A1:D」は表の場所を指定(仮にD2からF20までの表であれば「D2:F」)、「2」は重複をチェックしたい列番号(仮にE列の重複をチェックしたい場合には5(E))

End Sub

※下線部分を表の場所に応じて変更する必要あり

(4)シート名を入力したいセルを選択し、「Alt」+「F8」キーを押した後「重複データの削除」を選択して「実行」を押す
エクセル 重複 削除

(5)完了
エクセル 重複 削除

これで簡単に重複部分を削除することができます。ただしマクロは「元に戻す」ことができません。
実行する前には必ず「保存」をしてから行ってください。

4.まとめ

以上エクセルの重複削除について、基本手順から応用テクニック、マクロコードまで紹介しました。

もしこれまで手作業で行っていたとしたら、これで作業効率はぐっと上がります。
繰り返し使うことで身につけるようにしましょう!

スポンサードリンク

コメント