Excel(エクセル)で重複(一致した)データを抽出する方法|重複データのみ削除しよう!

スポンサーリンク
スポンサーリンク

Introduction

Excel(エクセル)で重複したデータを関数を使用して抽出したり、総数をカウントして表示するやり方です。COUNTIF関数を使用します。

単純に、重複したデータをその場で確認したい場合は条件付き書式を使用すると簡単です。Excel(エクセル)で簡単に重複データを確認、抽出する方法をご覧ください。

 

また、重複したデータを確認が必要無く、すぐに削除したい場合は、Excel(エクセル)で重複データを簡単に削除する方法をご覧ください。

 

重複データのみ削除する方法は後半にありますが、最初から読み進めてもらった方が手順を理解し易いと思います。

 

 長い説明になるけど、仕事でよく使うのでマスターして欲しいにゃ
スポンサーリンク

重複したデータの数を数える

最初は、重複したデータが幾つあるか数える方法です。

下の表で「部署」が同じものを数えてみます。

右側に集計用の表を用意して、COUNTIF関数を使用します。

 


COUNTIF関数・・・指定した範囲の中で、条件に合ったデータをカウントする。

COUNTIF(範囲,検索条件)

  • 範囲・・・検索する範囲を指定
  • 検索条件・・・検索する条件を指定

 

今回の場合は、カウント結果を表示したい「I4」をクリックしてCOUNTIF関数の[関数の引数]画面を表示します。

入力する場所が2つなので、あまり悩む必要はありませんね。

[範囲]には、「部署」の範囲である「$C$2:$C$15」を選択。後で下にオートフィル機能を使用してコピーすることを考えて、セル番地が移動しないように「F4」キーで$記号を付けて絶対参照にします

[検索条件]には、隣に用意した「製造部」の「H4」を選択

[OK]をクリックすると結果が表示されます。

オートフィル機能でコピーすれば計算式がコピーされて、全ての部署のカウント結果が表示されます。

今回は検索条件に「H2」のようにセル参照を使用していますが、後で計算式をコピーする必要が無い場合は、「製造部」とか「営業部」のように文字列で指定しても大丈夫です。

重複したデータをチェックする

同じCOUNTIF関数を使用したバリエーションです。

顧客データや商品リストなどに同じ情報があった場合は大きなトラブルに繋がります。チェックするために、チェック用の列を用意します。

今回は下の表で、もし「名前」の場所に重複データがあった場合は「〇」を表示して、無かった場合は空欄にするという関数を、IF関数とCOUNTIF関数を組み合わせて作成します。

「重複データ」の場所「H2」をクリックして関数を挿入します。

直接手で入力すると下のようになります。

=IF(COUNTIF(D:D,D2)>1,”〇”,””)

「もし、D列の中にD2と同じ文字列が1より多い場合は「〇」を表示して、それ以外は空欄にする」という意味です。

1より多いとは、つまりは2つ以上同じ文字が存在するということ。

関数を入力してオートフィル機能でコピーしたのが下の画面。

重複したデータの場所に「〇」が表示されていますね。

複数列が重複したデータをチェックする

先ほどの方法だと、1列のデータチェックはできるのですが、複数列のデータが重複しているものをチェックできません。

下の名簿のような表でも、「会社名」「部署」「名前」など全てが重複しているものだけをチェックしたい場合が多いと思います。

そのような場合は、一度に処理しようとせずに、新たにチェックすべき項目を結合する場所を用意します。

その場所に「&」演算子を使用して列を結合します。

今回の場合は、「No.」の列を除いた、「会社名」~「都道府県」までを結合します。

=B2&C2&D2&E2&F2

「結合データ」の場所に入力

では、COUNTIF関数で重複データをチェックします。

関数の内容は先ほどと一緒です。

=IF(COUNTIF(G:G,G2)>1,”〇”,””)

「もし、「結合データ」のG列の中にG2と同じ文字列が1より多くある場合は「〇」を表示して、それ以外は空欄にする」という意味です。

重複したデータを削除したい場合

重複したデータを確認するには、これまでのように重複した両方のデータに「〇」などを表示した方が良いと思います。

しかし、どちらかを削除したい場合は最初のデータには「〇」を付けず、2つ目以降だけに「〇」を付ければ、フィルタ機能を使用してそのデータだけを抽出して削除できます

先ほどの関数

=IF(COUNTIF(G:G,G2)>1,”〇”,””)

を下のように変更します。

=IF(COUNTIF($G$2:G2,G2)>1,”〇”,””)

赤くした箇所が変更する場所です。「G列」を指定していた場所を「$G$2:G2」に変更します。最初の「G2」を絶対参照にするのがポイント。

「$G$2:G2,G2」の場所ですが、下にオートフィルコピーすることにより、

$G$2:G2  , G2

$G$2:G3  , G3

$G$2:G4  , G4

$G$2:G5  , G5

と検索範囲が下へ広がっていきます。

赤〇の場所の関数を抜き出して見ました。じっくり見ると納得できると思います。

下にコピーするごとに検索範囲が下に広がり、検索場所も下にずれていきます

この関数だと、2つ目以降のみに〇が表示されます。結果が表示されたら、

表の中のどこかを選択した状態で、[ホーム] → [並び替えとフィルター]をクリック

[フィルター]を押すと、

項目にフィルターの「▼」が表示されます。

「▼」をクリックして、「空白セル」のチェックを外し、「〇」を抽出します。

下のように重複したデータだけが抽出されます。

あとは、左側の行番号をドラッグして、3つのデータを行選択。

同じ場所で右クリックしてショートカットメニューを表示して、[行の削除]をクリック

行を削除します。

先ほどの[並び替えとフィルター]の[フィルター]をクリックして、フィルターを解除すると、

ちゃんと3件のデータが削除されているのが確認できます。

まとめ

重複データの数を数えたり、抽出する方法をCOUNTIF関数を使用した方法で紹介しました。重複データの扱いに関しては、エクセルには別の機能も用意されています。

少し難しいと感じた方には、最初に紹介した、

Excel(エクセル)で簡単に重複データを確認、抽出する方法

Excel(エクセル)で重複データを簡単に削除する方法

をお勧めします。

必要に応じてどの機能を使用するか選びたいですね。

 

 重複データは許さないにゃ