【エクセル時短】は「少しでも早く仕事を終わらせたい!」というビジネスパーソンのみなさんに、Excelの作業効率をアップするワザをお届けする連載です。毎週木曜日更新。
過去の記事一覧はこちら【エクセル時短まとめ】

Excelの表内に含まれる「重複データ」の確認。よくある作業の1つですよね。

データが数件であれば検索や並べ替えでも事足りますが、数十件、数百件となると、かなりの手間がかかります。重複が原因でデータの整合性がとれなくなってしまうこともあるので、しっかり取り除いておきたいものです。

エクセル時短】第12回では、重複データへの対処で役立つ2つのテクニック

  • [重複の削除]機能で重複データを削除する
  • 「COUNTIF」(カウントイフ)関数で重複データをチェックする

を紹介します。

[重複の削除]機能で重複データを削除する

Excelの[データ]タブにある[重複の削除]は、その名の通り、重複データを削除する機能です。1つの列だけでなく、複数の列に含まれるデータを組み合わせて重複を判断できるのが特徴です。重複しているデータはすぐに削除されます。

以下の例では、氏名、性別、居住地、年齢を組み合わせて、重複しているデータを削除します。

1[重複の削除]ダイアログボックスを表示する

エクセル時短:「重複の削除」機能とCOUNTIF関数を使って重複データを見つける

表全体を選択し、[データ]タブの[重複の削除]ボタンをクリックします。

2重複データとして判断する列を指定する

エクセル時短:「重複の削除」機能とCOUNTIF関数を使って重複データを見つける

[重複の削除]ダイアログボックスが表示されました。ここでは[氏名][フリガナ][性別][居住地][年齢]の列に含まれるデータを組み合わせたとき、重複するデータを削除します。組み合わせたい列名にチェックマークを付け、[OK]をクリックします。

3重複データを削除する

エクセル時短:「重複の削除」機能とCOUNTIF関数を使って重複データを見つける

重複データを削除するメッセージが表示されました。重複データの数と、一意の値(重複しておらず残ったデータ)の数が表示されます。[OK]をクリックすると重複データが削除されます。

COUNTIF関数で重複データをチェックする

重複データをチェックしたいけど、すぐに削除したくない場合は、「COUNTIF」(カウントイフ)関数とIF(イフ)関数を組み合わせて重複データを見つけ出しましょう。

COUNTIF関数は、指定した条件に一致するデータを数える関数です。

COUNTIF範囲, 検索条件

1つ目の引数[範囲]に検索対象のセル範囲対象を指定し、2つ目の[検索条件]に条件を指定します。

最初に、[氏名]列に重複データが含まれているかをチェックしてみます。

エクセル時短:「重複の削除」機能とCOUNTIF関数を使って重複データを見つける

セルH3に「=IF(COUNTIF($B$3:B3,B3)>1,"重複","")」と入力します。セルH42までドラッグしてコピーすると、重複データをチェックできます。

セルH3に入力した数式のうち「COUNTIF($B$3:B3,B3)」は、セル範囲($B$3:B3)に、セルB3に一致するデータがあれば数えるという意味です。

このCOUNTIF関数をIF関数の条件にし、1より大きければ「重複」と表示、そうでなければ何も表示しない、という結果になります。

そして、この数式を下方向へドラッグすれば、
「=IF(COUNTIF($B$3:B4,B4)>1,"重複","")」
「=IF(COUNTIF($B$3:B5,B5)>1,"重複","")」
......とセル参照が変化していき、重複データをチェックできるという仕組みです。


ただ、このままでは[氏名]列のみのチェックなので、今度は[氏名][フリガナ][性別][居住地][年齢]の列に含まれるデータを組み合わせた場合に、重複しているデータがあるかをチェックしてみます。

1複数のセルを連結する数式を入力する

エクセル時短:「重複の削除」機能とCOUNTIF関数を使って重複データを見つける

セルG4に「=B3&C3&D3&E3&F3」と入力します。「&」は文字列を連結する演算子で、セルB3、C3、D3、E3、F3をつなげるという意味になります。セルG42までドラッグしてコピーしておきます。

2数式を修正する

エクセル時短:「重複の削除」機能とCOUNTIF関数を使って重複データを見つける

セルH3に入力した「=IF(COUNTIF($B$3:B3,B3)>1,"重複","")」の数式を「=IF(COUNTIF($G$3:G3,G3)>1,"重複","")」と修正します。B列〜F列を連結した結果が入力されているG列を対象に、重複データをチェックできるようにした形です。

3数式をコピーする

エクセル時短:「重複の削除」機能とCOUNTIF関数を使って重複データを見つける

セルH3の数式をドラッグして、セルH42までコピーします。 [氏名][フリガナ][性別][居住地][年齢]の列に含まれるデータを組み合わせて、重複データをチェックできました。

この例では[氏名][フリガナ][性別][居住地][年齢]の列に含まれるデータを組み合わせて重複データをチェックしたかったので、B列〜F列を連結した結果をG列で求めたうえで、COUNTIF関数のセル参照をG列にしています。少々粗い手法ですが、チェックには有用です。

重複データを削除したいときは[重複の削除]機能、チェックだけしたいときはCOUNTIF関数。賢く使い分けて活用してください。

関連まとめ記事