【Excel】重複削除の方法を徹底解説!初心者でも簡単にできる手順と注意点

スポンサードリンク
Excel
完成見本

上図のように重複した部分を1行だけ残して削除したいと思ったことがあるかと思います。
この記事では、下記のような色々なパターンで重複削除をする方法を解説いたします。

  • 最初の1行だけ残して重複を削除
  • 最後の1行だけ残して重複を削除
  • 大文字小文字を区別して重複を削除
  • 複数列にわたって重複を削除
  • 重複削除した場合の注意点

-著者情報-
名前:Utatane
Excel使用歴:15年以上
ひとこと:初心者だった当時に戻った気持ちになって解説いたします

※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。

実演パソコンのスペック(ソフトやバージョンによっては、表示や結果が異なる場合があります)

  • OS:Windows11 Home 64bit
  • Excel:Microsoft Office Home and Business 2021
スポンサードリンク

Excelデータの重複を削除した場合の注意点

すぐにでも重複削除方法をお探しかと思いますが、ちょっと待ってください。
重複を削除することで、取り返しがつかない事態に陥ることもあります。
まず初めに、下記の2つを頭に入れておきましょう。

  • 元に戻せない場合がある
  • セル参照(数式)に注意

元に戻せない場合がある

これから重複削除の方法をいくつか紹介いたしますが、方法によってはデータを元に戻すことができない場合があります。
重複削除後に保存してしまった場合、二度と復元できませんので注意しましょう。

実行前に必ずデータのバックアップを取っておいてください。

セル参照(数式)に注意

関数や数式などでセルが参照されている場合は注意が必要です。
参照先のセルが削除された場合、エラーとなってしまう場合があります。

エラー見本

出力結果などにも影響することがありますので注意してください。

スポンサードリンク

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

重複削除には「重複行を1つだけ残して他を削除」する方法と、「重複している行を全て削除」する方法があります。
まずは比較的需要のある「重複行を1つだけ残して他を削除」する方法を解説いたします。

重複行を1つだけ残して他を削除

重複行を1つだけ残して他を削除する方法もいくつかありますが、
まずは最も簡単にできる方法を紹介いたします。
(ソフトやバージョンによってはできないこともあります)

重複削除機能を使う

重複削除機能1

上図が元データです。
重複削除をしたいセルを範囲選択したら、
上部メニュー「データ」「重複の削除」をクリックします。

重複削除機能2

「重複の削除」画面が開きますので、右下の「OK」をクリックして完了です。

重複削除機能3

重複行が最初の1つだけを残して他は削除されました。

重複削除機能4

最初でなくても、どれかが残るだけでOKという場合ならコレが一番簡単です。
最後だけを残す方法もあります(後述

しかしながら、この方法では大文字・小文字が区別されません。
(「a」と「A」は同じものとして処理される)
大文字小文字を区別する方法もあります(後述

複数列に適用する

重複の削除機能を複数列に適用するには、まず対象のセルを範囲選択します。

重複削除機能を複数列に適用1

前項と同様に、上部メニュー「データ」「重複の削除」をクリックし、
「重複の削除」画面が開いたら、OKをクリックします。

重複削除機能を複数列に適用2

重複していた佐藤花子さんが1つだけ残りました。

重複削除機能を複数列に適用3

このように、対象の列を連結して一致しているものが1つだけ残ります。

COUNTIF関数を使う

重複の削除機能が無い場合は、こちらの方法を使いましょう。

COUNTIF関数で重複削除1

前項同様、A列に重複削除したいデータが入っています。
では、B列に作業列を追加しましょう。
B1に「作業」などと入力してください。

COUNTIF関数で重複削除2

次に、B2セルに下記の数式を入力しましょう(コピペ推奨)

=IF(COUNTIF($A$2:A2,A2)>1,"削除","残す")

COUNTIFについては後述

COUNTIF関数で重複削除3

あとは下までコピーします。

COUNTIF関数で重複削除4

B列に「削除」「残す」が表示されたかと思います。
削除と表示された行を削除すれば、重複削除が完了します。

作業列(B列)は必要ないので削除しましょう。

COUNTIF関数で重複削除5

これで「重複の削除機能」同様、最初の1行だけを残して他を削除できます。

【COUNTIFとは】
COUNTIFは重複が確認できる関数です。

▼基本構文
=COUNTIF(範囲, 重複を確認したいセル)

▼使用例
=COUNTIF($A$2:$A$7, A2)

上記の使用例では、A2~7の範囲に、A2と同じ値のセルがいくつあるか教えてくれます。
(合計3つあったとしたら3、1つ(重複なし)だったら1というように数値で表示される)

COUNTIF関数とは

本編の例では、A2から現在の行まで、重複無し(1)なら残す、重複あり(1を超える場合)なら削除と表示させています。

=IF(COUNTIF($A$2:A2,A2)>1,"削除","残す")

最後の1行だけを残して他を削除

場合によっては、最後の1行だけを残したい時もあるかと思います。
そんなときは、B2セルに下記の数式を入力しましょう(コピペ推奨)

=IF(COUNTIF(A2:$A$10,A2)>1,"削除","残す")

これで、重複行の最後の1つだけ残して他を削除することができます。

最後の1行だけを残して他を削除

大文字小文字を区別して削除

これまで紹介した方法は、いずれも大文字・小文字が区別されません。
例えば、「A」と「a」は同じものとして処理されます。

大文字小文字を区別して削除1

大文字・小文字を区別して処理したい場合は、下記の数式をB2に入力しましょう。

=IF(SUM(--EXACT(A2, A$2:A2))>1,"削除","残す")
大文字小文字を区別して削除2

これで、大文字・小文字が区別され、重複削除を実行できます。

EXACTは、2つの文字列が完全一致するかを判定する関数です。
(大文字小文字が区別されます)
完全一致していればTRUE、していなければFALSEと表示されます。

「–」は「TRUEやFALSE」を「1か0」に変換するテクニックです。
TRUEやFALSEでは計算ができないため、この方法を使っています。

SUMは、数値を合計する関数です。
完全一致のセルが合計され、1を超えると削除と表記されます。
行が進むにつれ、対象の範囲は広がるため、最初のセル(初登場)は1、2番目のセル(重複)は2と表示されるようになります。

重複した行をすべて削除

重複した行をすべて削除したい場合もあるかと思います。
例えば、1日2回以上応募したら失格となり、応募権利をはく奪するといった場合などです。

重複した行をすべて削除するには、下記の数式B2セルに入力してください。

=IF(COUNTIF(A:A, A2)>1, "削除", "残す")
重複した行をすべて削除

重複した行はすべて「削除」と表示されます。
大文字小文字は区別されませんのでご注意ください。

スポンサードリンク

最後に

Excelデータの重複削除について解説いたしました。

当ブログでは、VBAマクロやPythonなど、時間を生み出すプログラミング術を公開しております。
少し難易度は上がりますが、マクロを使えば一瞬で重複行を削除することができます。

さらに難易度が上がりますが、Pythonを使えばもっと楽に重複削除を行えます。

これらの記事がわかりやすいと感じた方は、他の記事も読んでいってください。

最後までお読みいただき、ありがとうございました。がんばってください!

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