重複削除をしたいときは、エクセルの重複削除機能は使わないようにしましょう。この記事では、関数を使用した重複チェック方法を詳しく解説します。
ExcelCamp講師が研修で実際に説明している手順に沿って、内容を解説いたします。
ショートカットキーの表記について
ExcelCampではショートカットの表記を以下に統一しています。
・「&」は同時に押すショートカットです。たとえばCtrl&Cなら、Ctrlキーを押しながら同時にCキーも押すことで発動します。
・「+」は順番に押すショートカットです。たとえばAlt+E+Lなら、Altキーを押した後に一度指を離し、E、Lキーをそれぞれ順番に押すことで発動します。
Excelの機能にある「重複削除」は使わない
多くのサイトでは「重複削除機能」を使う方法が紹介されています。ですが、ExcelCampでは重複削除機能は使わないことを強くおすすめしています。
理由は「データを消してしまうと、その履歴を確認できなくなるから」です。
例えばアンケート結果などは、重複しているようでも「全く同じ回答をした人が2人いる」ケースもあり、この場合どちらのデータも有効です。本当に削除してよいデータなのか確認した上で削除するのが望ましいです。
この記事では、関数を使用した重複削除方法をまずはご紹介します。
ExcelCamp推奨の重複の特定方法
わたしたちがおすすめする重複の特定方法は、以下の手順で進めます。
- 重複チェック用に結合したデータを入れる列を作る
- データを結合する(”&”またはCONCAT関数使用)
- COUNTIF関数で重複しているデータを見つける
- フィルター機能を使い、重複しているデータを絞り込む
- 重複データを確認し、削除する
文字での説明だとやや煩雑になってしまいましたが、
手を動かしながら読んでいただくと直感的に理解できるはずです。
手順1.重複チェック用に結合したデータを入れる列を作る
今回は下記のデータの重複を削除していきます。
4行目と8行目に同じデータが入っていますので、8行目を削除するのが目標です。
最初に、重複チェック用に結合データを入れる列を1行追加しましょう。まずは追加したい列に移動します。
今回はD列に列を追加したいので、D列の任意のセルに移動します。
Altキー、Iキー、Cキーを順番に押すと、ショートカットで列が追加できます。
データに行を追加したら、色と項目名を変える習慣をつけましょう!
「自分が後から追加した列」であることがすぐ分かるようにするためです。
Altキー、Hキー、Hキーを順番に押すと、「塗りつぶしの色」メニューがショートカットで開けます。
項目名のセルを好きな色に変えましょう。
項目名は、自分で分かりやすい名前をつけてください。
手順2.重複をチェックしたいデータを結合する(”&”またはCONCAT関数使用)
列ができたら、データを結合します。
データを結合するには、2通りの方法があります。
- “&”を使って結合する
- CONCAT関数(コンカット関数)を使って結合する
&を使う方法は、結合したいセルを一つ一つ選択しないといけません。
結合するデータ数が少ない場合は1で良いですが、多い場合は範囲指定できる2を使うのがおススメです。
CONCAT関数は、エクセルのバージョンによっては使えない場合がありますので、その場合は1で結合します。
結合方法①”&”を使って結合する
結合したいセルを”&”でつないだ式を書くことで、データを結合する方法です。
D2セルに移動して=を入力し、結合したいセルを選択します。
今回はA2セルからC2セルをつなぎたいので、まずはA2セルを選択しましょう。
続いて&を入力し、次に結合したいセルを選択します。
結合したいセル全てを選択するまで、&の入力とセル選択を繰り返します。
今回は、=A2&B2&C2 という式が書けたらEnterキーを押します。
A2セルからC2セルが結合されたデータが作成できました。
日付は数値に変換されてしまいますが、重複チェックをする分には問題ありません。
この式を、重複チェックを行いたいセル全てにコピーしましょう。
D2セルがアクティブな状態で、コピーしたい範囲を選択します。
D2セルで、Ctrlキーを押しながら←、↓、→を順番に押し、最後にCtrlキーを押したままShiftキーと↑を押すと、コピーしたい範囲が簡単に選択できます。
Ctrlキーを押しながらDキーを押すと、選択した範囲にD2セルの式が一瞬でコピーされます。
CtrlキーとShiftキーを駆使した移動・選択と、Ctrl&Dを使ったコピーのやり方は、エクセルの効率を上げるのに必須です。
詳しくは、下記の記事で解説しています。
結合方法②CONCAT関数(コンカット関数)を使って結合する
&でつなぐ方法は、結合したいセルを一つ一つ選択しないといけません。
大量のセルを結合したい場合は、CONCAT関数を使いましょう。
CONCAT関数とは
・指定した範囲のセルを結合できる関数
・書き方:=CONCAT(結合したい範囲)
D2セルに=concまで入力すると、関数の候補が表示されます。
Tabキーを押すと関数が自動的に表示されるので、あとは結合したい範囲を選択するだけです。
今回はA2セルからC2セルまでを選択して、
=CONCAT(A2:C2 と入力します。
最後の)は入力不要です。
Enterキーを押すと、A2セルからC2セルが結合されました。
結合方法①”&”を使って結合すると同じく、Ctrl&Dのショートカットを活用して、重複チェックを行いたいセル全てにコピーしましょう。
手順3.COUNTIF関数で重複しているデータを見つける
次はCOUNTIF関数(カウントイフ関数)を使って、重複しているデータを見つけます。
COUNTIF関数は、条件に合うデータの個数を数える関数です。
詳しい使い方はこちらの記事で解説しています。
COUNTIF関数を使って「D2セルからD8セルの間に、同じデータが何個あるか?」を数えることで、重複チェックを行います。
まずは、重複チェックを行う列を作成します。
データ結合と同じ手順で、E列に1列追加して項目名の色を変え、名前をつけましょう。
ここから、COUNTIF関数を書いていきます。
E2セルに移動し、=countif( と入力します。
(の中には、データの範囲と条件を指定します。
まずは「データ範囲」として、D2セルからD8セルを選択しましょう。
この時、F4キーを押して、忘れずに範囲を絶対参照にしましょう。
※PCによってはFnキーを押しながらF4キーを押す
F4キー(またはFn&F4)を1回押して、範囲が$D$2:$D$8という表示になっていれば「絶対参照」にできています。
エクセルは、式を下にコピーするとデータの範囲も下に移動するようになっています。
絶対参照は、式をコピーしても、データの範囲は固定しておきたいときに使います。
絶対参照については下記の記事で詳しく解説しています。
ちなみに、範囲には列全体を指定することもできます。
=countif(と入力したあと、←キーを1回押してD2セルを選択します。
そのあと、Ctrlキーを押しながらスペースキーを押すことで、列全体を選択できます。
絶対参照を忘れると関数がうまく機能しません。
忘れそうな方は、列選択で覚えましょう!
また、今後もデータが増える可能性がある場合も、
列選択がおススメです。
データが増えても、範囲を指定しなおさなくて良くなります。
範囲が指定できたら、,(カンマ)で区切って「条件」を書きます。
今回は、D2セルを選択しましょう。
=countif(D:D,D2と書けたら、Enterキーを押します。
※絶対参照の場合は=countif($D$2:$D$8,D2)
この式は
「D列に、D2セルと同じデータが何個あるか数えて」
という意味です。
E2セルに、「1」という結果が表示されました。
D2セルと同じデータはD2セル1個のみ=重複したデータはない、ということです。
データ結合したときと同じく、Ctrl&Dのショートカットを活用して、重複チェックを行いたいセル全てにE2セルの数式をコピーしましょう。
E4セルとE8セルが「2」になっており、この2つのデータが重複している事が分かります。
この2つが本当に同じか見比べ、削除してよいと判断できたら、片方を削除します。
データ数が多い場合は目視で比較するのが難しいです。
そんなときは、フィルターで2以上のデータを絞り込みましょう。
手順4.フィルター機能を使い、重複しているデータを絞り込む
フィルターをつけるときは、データを並び替えたいリストを選択します。
A1セルがアクティブな状態で、左手でCtrlキーとShiftキーを押しながら右手で↓と→を1回ずつ押すと最速で範囲選択ができます。
選択ができたらCtrlキーとShiftキーを押しながらLキーを押すと、フィルターがつけられます。
※もしくはAltキー、Aキー、Tキーを順番に押す
「重複チェック」の項目名が入っているE2セルに移動しましょう。
Altキーを押しながら↓キーを押して、フィルターのメニューを開きます。
全てのデータ種類にチェックが入っている状態なので、「2」以外のチェックを外します。
チェックを外すときは、↑キーを3回押すと「すべて選択」まで最速で移動できます。
「すべて選択」がアクティブになった状態で、Ctrlキーを押しながらスペースキーを押すと、チェックを全て外せます。
半角入力の場合、スペースキーを押すだけでチェックの付け外しができるのですが、全角入力になっているとスペースキーだけでは機能しません・・・
Ctrl&スペースは、半角・全角どちらでも使えるテクニックなので、常にCtrlキーを押しながらスペースキーを押すようにすれば間違いありません!
↓キーで「2」に移動して、再びCtrlキーを押しながらスペースキーを押してチェックを入れます。
最後にEnterキーを押すと、重複チェックの結果が「2」になっているデータを絞り込めました。
手順5.重複データを確認し、削除する
絞り込んだデータを見比べて、削除して良いデータの場合は削除します。
冒頭でご説明した通り、アンケート結果などは重複しているように見えてもどちらも有効なデータである場合があります。
必ず、確認してから削除するようにしましょう。
なお、削除するときは「重複チェック」に「2」が入っているうちの片方だけを消してください。
両方削除すると、このデータ自体が消えてしまいます。
(上級編)関数を使った重複削除(2個目以降にのみ重複表示)
上記の方法での重複チェックだと、同じデータには全て「2」が表示されます。
1つ目には1、2つ目以降には2、3・・・と表示されると、どれが重複チェックしているデータなのかがさらに分かりやすいですよね。
ここからは上級編として、「2つ目以降にのみ重複を示すCOUNTIF関数の書き方」をお伝えします。
正直に言って、この書き方を使っている人を見たことがありません笑
上級者向けの参考知識としてご覧ください!
応用的な数式の書き方
関数を使った削除方法と、
までは同じです。
手順3のCOUNTIF関数の書き方が異なります。
先にお伝えすると、E2セルに入力する式は、=countif($D$2:D2,D2です。
入力の仕方にポイントがあるので、順に解説します。
まずはデータの範囲を指定します。=countif(まで入力したら、←キーを1回押して、D2セルを選択します。
F4キーを1回押して、絶対参照にします。
※PCによってはFnキーを押しながらF4キーを押す
続けて:を入力し、再度←キーを1回押してD2セルを選択します。
今度は絶対参照はつけないでおきます。
これで、範囲の入力が完了です。
,を入力したら、検索条件を入力します。
再び←キーを1回押し、D2セルを選択します。
こちらも、絶対参照はつけないでおきます。
ここまで入力できたら、式の完成です。Enterキーを押しましょう。
データ結合と同じく、Ctrl&Dのショートカットを活用して、重複チェックを行いたいセル全てにE2セルの数式をコピーしましょう。
4行目と8行目のデータが重複していますが、
重複チェックの列を見ると4行目には「1」、8行目には「2」と表示されています。
どれが重複したデータなのか、分かりやすくなりましたね。
どういう仕組みなのか解説
上級編でお伝えしたCOUNTIF関数の仕組みを解説します。
一番上のE2セルの数式は、「D2セルからD2セルまでの範囲で、D2セルと同じデータが何個あるかを数えて」と指示しています。
範囲がD2セルのみなので、当然、解答は「1」になりますね。
E3セルの数式を見てみましょう。
範囲がD2セルからD3セルまでになり、1個増えています。
範囲の最初だけ絶対参照にしたことで、範囲の先頭のD2セルは常に固定されています。
一方、範囲の最後は相対参照のため固定されておらず、行と一緒に範囲も移動していきます。
このため、行が増えるごとに範囲が1個ずつ増えていくのです。
数式は、「D2セルからD3セルまでの範囲で、D3セルと同じデータが何個あるかを数えて」という指示になります。
今度は、重複している4行目と8行目に注目してみましょう。
4行目を見ると、E4セルの数式は=COUNTIF($D$2:D4,D4)となっており、
D2セルからD4セルまでの範囲で、D4セルと同じデータの個数を数える式になっています。
D2セルからD4セルの間には、D4セルと同じデータはないので「1」が返ってきます。
次に、重複している8行目のデータを見てみましょう。
E8セルを見ると、数式は=COUNTIF($D$2:D8,D8)となっており、
D2セルからD8セルまでの範囲で、D8セルと同じデータの個数を数える式になっています。
D2セルからD8セルの間だと、D4セルとD8セルに同じデータが入っているので、「2」が返ってきます。
COUNTIF関数の書き方を工夫すると、このような便利な使い方も可能です。
「重複している2つ目以降のデータだけ判別したい!」という場合には、
この数式を使ってみてくださいね。
【非推奨!】エクセルの重複削除機能
最後に、エクセルに備わっている重複削除機能の使い方も一応解説します。
しかし冒頭でご説明した通り勝手にデータを消してしまうのでリスクが高く、使わないほうが良い機能です。
一応使い方をご説明しますが、参考程度に読んでください。
重複削除機能の使い方
まずは、重複を削除したいデータ内の任意のセルに移動します。
下図ではA1セルがアクティブになっていますが、どこでも構いません。
重複削除機能は、「データ」タブの「データツール」内にアイコンがあるので、クリックします。
非推奨機能なのでショートカットの紹介は省いています。
「重複の削除」機能のウィンドウが開きました。
重複を削除したい項目にチェックを入れます。
データの先頭行が見出しになっている場合は、「先頭行をデータの見出しとして使用する」にもチェックを入れましょう。
重複の削除機能では、「チェックを入れた項目全てが重複するもの」が検出されます。
例えば、
- 【購入日】のみにチェック:購入日が重複しているデータが削除される
- 【全ての項目】にチェック:全ての項目が重複しているデータが削除される
といった具合です。
今回は、全ての項目にチェックが入った状態でEnterキーを押してみましょう。
重複の有無をチェックした結果を知らせるウィンドウが表示されます。
データを見ると、重複していた8行目のデータが削除されています。
非推奨な理由:データが勝手に消されてしまう
ご覧いただいたように、エクセルの重複削除機能を使うと、重複しているデータが勝手に消されてしまいます。
データ量が膨大な場合、何のデータが消えたのか自分で確認できません。
意味のある重複の場合もあるため、データが消えてしまうことで不都合が生じる可能性があります。
ExcelCampでは、重複を削除したい場合は関数の使用をおススメしています。
休日「1日」を投資して、平日の生産性を最大「20倍」にするExcel研修
私たちが提供するExcel研修「上位1%を目指す!ExcelCamp」では、これまで延10,000名以上の方に研修を受講いただき、受講者満足度は9.71(※)という大変高い評価を頂いております。
※10点満点中の評価の平均値。
休日1日を研修に使うのは「やや重たい」というご意見もいただきます。
しかし、本当にExcelスキルを実践で使えるレベルで高めるとなると、通常数年はかかるものです。
実際にExcelCampで教える内容は、代表の中田が業務コンサルタントとして数年間、毎日10時間以上Excelと向き合った結果ようやく生まれたスキルです。
そのことを考えると、休日の「たった1日」を投資して、その後のExcel業務の生産性を圧倒的に高めることは決して悪くない選択だと思います。
参加者の中にはお伝えしたスキルを仕事の現場で活かし、生産性が「20倍」になったという事例もあります。
動画サービス「bizplay(ビズプレイ)」で研修の一部を無料公開中!
※全4回の動画のダイジェスト版です。
※第1~4回の内容をフルで視聴するには、bizplayへの無料会員登録が必要です。
現在セミナー動画見放題サービス「bizplay」で、ExcelCamp Day1の講義内容の一部を無料配信しています。
全4回に分けてExcelが得意になるための考え方や覚えておくべき基本操作を解説していますので、Day1への参加を迷われている方はぜひ一度ご覧ください。