重複を除いて1つずつ抽出する方法
UNIQUE関数で重複のないリストを作る

重複しているデータを1つにまとめて、一覧を作りたい場合はUNIQUE関数を使いましょう(※)。
| =UNIQUE(A2:A100) |
たとえば「東京、大阪、東京、名古屋」というデータなら、「東京、大阪、名古屋」と重複のない一覧が表示されます。
UNIQUE関数のより詳しい使い方は、ExcelでUNIQUE関数を使って値が重複しないリストを作成する方法で紹介しているので、あわせてご覧ください。
フィルターの詳細設定で重複を除いて抽出する
UNIQUE関数が使えないExcel 2019以前でも、フィルターの詳細設定を使えば、重複を除いたデータを取り出すことが可能です(※)。
- 表のいずれかのセルを選択する
- 「データ」タブ→「並べ替えとフィルター」グループの「詳細設定」をクリックする
- 「別の場所にコピー」(バージョンによっては「指定した範囲」)を選び、コピー先に結果を表示したいセルを指定する
- 「一意のレコードのみ」(バージョンによっては「重複するレコードは無視する」)にチェックを入れて「OK」をクリックする
※参考:Microsoft サポート「重複しない値を抽出する、または重複する値を削除する」
元のデータはそのまま残り、重複を除いた一覧だけが指定した場所にコピーされます。
2つの列・2つのシートの重複データを抽出する方法
COUNTIF関数で別の列・別のシートと照合する

2つのリストを比べて、両方に含まれているデータを探すときにも、COUNTIF関数が役立つでしょう。たとえば、Sheet1のA列のデータがSheet2のA列にもあるかを調べる場合は、Sheet1の作業列に次の数式を入力してください。
| =IF(COUNTIF(Sheet2!$A:$A,A2)>0,”重複”,””) |
両方のシートにあるデータに「重複」と表示されるので、フィルターで「重複」だけを表示すれば抽出できます。同じシート内のB列と比べたい場合は、「Sheet2!$A:$A」の部分を「$B:$B」に変えてください。
XLOOKUP関数で一致したデータの情報も取り出す
Excel 2021以降なら、XLOOKUP関数で照合と同時に関連する情報を取り出すこともできます。
| =XLOOKUP(A2,Sheet2!$A:$A,Sheet2!$B:$B,”なし”) |
Sheet2のA列にA2と同じ値があれば、その行のB列の値を表示し、なければ「なし」と表示する数式です。顧客IDで照合して、もう一方のリストにある電話番号を取り出すといった使い方に向いています。
複数の列が一致する重複データを抽出する方法
氏名だけでは同姓同名を誤って重複と判定してしまうため、「氏名」と「生年月日」の両方が一致する行だけを重複として扱いたい場合もあるでしょう。そのときはCOUNTIFS関数を使いましょう。
| =COUNTIFS($A$2:$A$100,A2,$B$2:$B$100,B2) |
A列(氏名)とB列(生年月日)の両方が一致する行が何件あるかを数えます。結果が2以上の行が、複数の列で重複しているデータです(※)。
※参考:とうぐ「【EXCEL術】複数の列で全ての列に重複する値の調べ方」
重複データを削除する方法
「重複の削除」で重複行をまとめて削除する

抽出した重複データが不要なら、「重複の削除」で一括削除できます(※)。
- 表のいずれかのセルを選択する
- 「データ」タブ→「データツール」グループの「重複の削除」をクリックする
- 重複を判定する列にチェックを入れて「OK」をクリックする
※参考:Microsoft サポート「重複しない値を抽出する、または重複する値を削除する」
削除された件数と残った件数が表示されれば完了です。重複の削除はデータを完全に消してしまうため、実行前に元のデータを別のシートにコピーしておくと安心でしょう。削除できないときの対処法や関数での削除方法は、Excelで重複を削除する5つの方法とは?削除できないときの対処法や関数の使い分けを徹底解説で詳しく解説しています。




DIME MAGAZINE













