Office 2024がリリースされました!

Excelで重複を削除して1つだけ表示する方法

当サイトはアフィリエイト広告を利用しています。

Excelで管理しているデータに重複が含まれていると、正確な集計や分析ができない場合があります。

とは言え、重複がないかひとつひとつ目視でチェックし、その都度手動で直すのはとても大変。ここはExcelに備わっている機能を活用して、もっと効率的に処理しましょう。

そこで今回は、Excelで重複を削除して1つだけ表示する方法をご紹介します。

Excelで重複を行ごと削除して1つだけ表示する4つの方法

まずは重複を行ごと削除して1つだけ表示する方法をご紹介します。

  • 重複の削除機能を使う
  • COUNTIF関数を使う
  • フィルターオプションを使う
  • UNIQUE関数を使う

なお、UNIQUE関数はMicrosoft 365やOffice 2021以降でなければ使用できません。以下の記事にてMicrosoft 365や最新版Officeの購入ページをご紹介していますので、Office 2019以前のバージョンをお使いの方はチェックしてみてください。

方法1:重複の削除機能を使う

重複のうち1番上だけ残してその他を行ごと削除したい場合、もっとも簡単でおすすめなのが、重複の削除機能を使う方法です。

まず、重複を含むデータ範囲を選択し、「データ」タブ⇒「重複の削除」をクリックします。

Excel

「重複の削除」が表示されたら、重複をチェックしたい列にチェックをつけ、「OK」をクリックします。

Excel

たとえば、

  • 「列A」と「列B」をセットとして重複をチェックしたい → 両方の列にチェック
  • 「列A」は重複していなくても、「列B」で重複があれば削除したい → 列Bにだけチェック

このような感じです。

これで重複のうち1番上だけ残ってその他が行ごと削除されます。

Excel

方法2:COUNTIF関数を使う

重複をマーキングし、フィルター機能を使って重複しないリストを作りたい場合は、COUNTIF関数を使う方法がおすすめです。この方法なら、重複する行を簡単に表示/非表示にできます。

COUNTIF関数(カウントイフ関数)とは、単一の条件に一致するセルの個数を求める関数です。

COUNTIF関数の構文

COUNTIF(範囲, 検索条件

範囲(必須)
検索する範囲を指定する。
検索条件(必須)
検索する条件を指定する。

たとえば、B2~B8の範囲で重複をチェックし、対応するC列に結果を表示したい場合、まずC2に=COUNTIF($B$2:B2, B2)>1と入力して、この数式をC8までオートフィルします。

すると、上のデータと重複する場合は「TRUE」、重複しない場合は「FALSE」と表示されます。

判定列にCOUNTIF関数を使った数式を入力する

次に、重複を含むデータ範囲を選択し、「データ」タブ⇒「フィルター」をクリックします。

フィルターを使えるようにする

判定列の見出しの下向き三角をクリックし、「TRUE」のチェックを外して「OK」をクリックします。

重複以外でフィルタリングする

これで重複しないリストが表示されます。

重複しないリストが表示された

データを元に戻したいときは、「データ」タブ⇒「クリア」をクリックしましょう。

フィルターをクリアする

方法3:フィルターオプションを使う

重複しないリストを任意の場所に抽出したい場合は、フィルターオプションを使う方法がおすすめです。

まず、「データ」タブ⇒「詳細設定」をクリックします。

Excel

「フィルターオプションの設定」が表示されたら、「指定した範囲」を選択⇒「リスト範囲」の入力ボックスをクリック⇒抽出したいデータ範囲を選択します。

抽出元の設定をおこなう

「抽出範囲」の入力ボックスをクリック⇒抽出先の起点となるセルを選択⇒「重複するレコードは無視する」にチェック⇒「OK」をクリックします。

抽出先の設定をおこなう

これで重複しないリストが任意の場所に抽出されます。

フィルターオプションを使って重複しないリストが抽出した結果

方法4:UNIQUE関数を使う

UNIQUE関数を使える場合は、フィルターオプションとほぼ同じことが関数でできます。

UNIQUE関数(ユニーク関数)は、重複しないデータを抽出する関数です

UNIQUE関数の構文

UNIQUE(範囲, [検索方向], [回数]

範囲(必須)
重複データを含むセル範囲を指定する。
検索方向(省略可)
重複をチェックする方法を以下のいずれかで指定する。省略すると「FALSE」として処理される。
  • TRUE:右方向にチェックする。
  • FALSE:下方向にチェックする
回数(省略可)
何回出現するデータを抽出するか以下のいずれかで指定する。省略すると「FALSE」として処理される。
  • TRUE:1回だけ出現するデータを抽出する。
  • FALSE:重複分を除いたデータを抽出する。

たとえば、A2~B8の範囲で重複しないリストをD2を起点に抽出したい場合は、D2に=UNIQUE(A2:B8)と入力します。これで重複しないリストが任意の場所に抽出されます。

UNIQUE関数を使って重複しないリストを抽出した結果

Excelで重複を空白にして1つだけ表示する方法(重複に色付け)

次に、重複を行ごと削除はせず空白にして1つだけ表示する方法をご紹介します。

重複を空白にする場合、以下のような処理をおこないます。

  1. 重複をマーキングする
  2. フィルター機能でマーキングしたリストを表示し、内容を削除する
  3. フィルターをクリアする

重複をマーキングする方法は、さきほどご紹介したCOUNTIF関数を使う方法(判定列を作る方法)でも良いですが、今回は重複に色付けする方法をご紹介します。

mono

重複セルを一括選択できる機能があればもっと簡単なんですが、現時点ではそういった機能はないんですよね…。

手順1:重複をマーキングする

まずは見出しを除いた重複を含むデータ範囲を選択し、「ホーム」タブ⇒「条件付き書式」⇒「新しいルール」をクリックします。

条件付き書式を設定する

「新しい書式ルール」が表示されたら、「数式を使用して、書式設定するセルを決定」を選択して、=COUNTIF($A$2:A2, A2)>1のような数式を入力したあと、「書式」をクリックします。

なお、今回はA2~A8を選択しているので数式内でA2を指定しています。たとえば選択範囲がA3から始まる場合、数式は=COUNTIF($A$3:A3, A3)>1のようになるのでご注意ください。

数式を入力する

「セルの書式設定」が表示されたら、「塗りつぶし」タブから重複の色を設定して「OK」をクリックします。もちろん、塗りつぶしではなくフォントの色を設定してもOKです。

塗りつぶしの色を設定する

「新しい書式ルール」に戻ったら「OK」をクリックします。

書式ルールを登録する

これで重複が設定した色でマーキングされます。

重複が設定した色でマーキングされた

手順2:フィルター機能でマーキングしたリストを表示し、内容を削除する

次に、重複を含むデータ範囲に対してフィルターを有効にし、重複列の見出しの下向き三角をクリックして「色フィルター」⇒重複の色を選択します。

マーキングの色をフィルタリングする

これで重複するデータだけが表示されるので、重複セルを選択して[Delete]で内容を削除します。

重複するデータを削除する
MEMO

セルの数が多い場合は、列番号をクリックしたあと、[Ctrl]を押しながら見出しセルをクリックすると、見出しセルを除いたセルを一括で選択できます。

手順3:フィルターをクリアする

最後に、「データ」タブ⇒「クリア」をクリックしてフィルターをクリアします。これで重複のうち1番上だけ残してその他を空白にできます。

重複が空白になった

Excelで重複を1件としてカウントする方法

重複を1件としてカウントしたい場合、COUNTA関数とUNIQUE関数を使うと簡単です。

COUNTA関数(カウントエー関数)は、空白ではないセルの個数を求める関数です。

COUNTA関数の構文

COUNTA(値1, [値2], …)

値1(必須)
検索する範囲を指定する。
値2(省略可)
検索する追加の範囲を指定する。

なお、「値」は最大255個まで指定できます。

件数を表示したいセルに=COUNTA(UNIQUE(重複を含むデータ範囲))という数式を入力すると、重複を1件としたデータ件数が表示されます。

重複を1件としてカウントされた

UNIQUE関数が使えない場合は、重複を行ごと削除して1つだけ表示する方法でご紹介した、COUNTIF関数を使う方法で重複しないリストを作成し、ステータスバーの「◯個が見つかりました」の◯の数字を見ましょう。この数字が、重複を1件としたデータ件数です。

フィルター機能で重複しないリストを表示した際のステータスバー

まとめ

今回は、Excelで重複を削除して1つだけ表示する方法をご紹介しました。

重複するデータを行ごと削除したい場合、重複の削除機能を使う方法がもっとも簡単でおすすめです。行ごと削除するのではなく、内容を削除して空白セルとして残しておきたい場合は、重複をマーキングしたうえで重複のみ表示し、手動で内容を削除すると良いでしょう。

重複を1件としてデータ件数をカウントしたい場合は、COUNTA関数とUNIQUE関数を使えば簡単に出せますよ。

Udemyの動画講座なら自分のペースでExcel VBAを学べる!

Udemyでは、買い切りの動画講座で好きな分野について自分のペースで学ぶことができます。

パソコンだけでなくスマホにも対応しているので、移動時間や休憩時間にスマホで学習することも可能です。

30日間の返金保証付きなので、初めてでも安心して受講できますよ。

▼ おすすめのExcel VBA講座はこちら ▼