エクセルで重複をチェックする方法
範囲を選び、ホーム → 条件付き書式 → セルの強調表示ルール → 重複する値 を選ぶと、重複に色が付きます。
重複の扱いには「見つける」「数える」「消す」の3つがあります。 いきなり消すと戻せないので、まず見つけて中身を確かめるのが安全です。 順に説明します。
方法1:色を付けて見つける
いちばん手軽で、データを変えないので安全です。
- 調べたい範囲(例:A列)を選択します。
- ホーム → 条件付き書式 をクリックします。
- セルの強調表示ルール → 重複する値 を選びます。
- 色を選んで OK を押します。
| 行番号 | A |
|---|---|
| 1 | 顧客名 |
| 2 | 山田商事 |
| 3 | 佐藤工業 |
| 4 | 山田商事 |
| 5 | 鈴木物産 |
| 6 | 佐藤工業 |
条件付き書式 → ルールのクリア → シート全体からルールをクリア を選びます。 セルの塗りつぶしを白にしても、条件付き書式は残ったままなので消えません。
方法2:COUNTIFで何件あるか数える
色だけでは何件重複しているかが分かりません。 件数を出せば、並べ替えて重複だけをまとめて見られます。
=COUNTIF($A$2:$A$100, A2)- 空いている列(例:B列)の2行目を選びます。
- 上の数式を入力します。範囲には $ を付けます(F4 で付きます)。
- 下までコピーします。2 以上になった行が重複です。
- B列で並べ替えるか、フィルターで「2以上」を選ぶと、重複だけを取り出せます。
| 行番号 | A | B |
|---|---|---|
| 1 | 顧客名 | 件数 |
| 2 | 山田商事 | 2 |
| 3 | 佐藤工業 | 2 |
| 4 | 山田商事 | 2 |
| 5 | 鈴木物産 | 1 |
| 6 | 佐藤工業 | 2 |
範囲の開始だけを固定した =COUNTIF($A$2:A2, A2) にすると、1件目は 1、2件目以降は 2, 3… になります。「最初の1件は残して、それ以降を消す」ときに便利です。
方法3:重複の削除で消す
重複の削除 は元に戻すのが難しい操作です。 シート見出しを右クリック → 移動またはコピー → コピーを作成する でバックアップを取ってから実行してください。
- 表の中のセルをクリックします。
- データ タブ → 重複の削除 をクリックします。
- どの列で重複と判断するかをチェックで選びます。
- OK を押すと、何件削除されたかが表示されます。
「顧客名」だけにチェックを入れると、同じ顧客名の行は日付や金額が違っても消えます。 「顧客名」と「日付」の両方にチェックを入れれば、 その2つが同時に一致する行だけが消えます。ここを間違えると必要なデータが消えます。
やってみる
重複チェックの中心は COUNTIF です。 範囲を $ で固定するところが要点なので、実際に書いて確かめます。
よくある失敗
- 見た目は同じなのに重複と判定されない
前後に空白が入っています。
TRIMで空白を取り除くか、そもそもプルダウンで入力するようにします。 - 大文字と小文字が区別されない
COUNTIFと条件付き書式は大文字小文字を区別しません。 区別したい場合は=SUMPRODUCT(--EXACT($A$2:$A$100,A2))のようにEXACTを使います。 - 数字なのに重複と判定されない
片方が文字列として入力されています。 セルが左寄せなら文字列です。区切り位置 で数値に変換してから調べます。
- 重複の削除で必要な行まで消えた
判断に使う列の選び方が広すぎます。複数の列にチェックを入れると、 その組み合わせが一致する行だけが対象になります。 消してしまった場合は Ctrl + Z で戻せることがありますが、保存後は戻せません。
- 2列の組み合わせで重複を調べたい
作業列を作り、
=A2&"-"&B2のように連結してから、その列でCOUNTIFします。
仕事ならどれを使う?
| 方法 | データを変える | 分かること | 向いている場面 |
|---|---|---|---|
| 条件付き書式 | 変えない | どれが重複か | まずこれ。ざっと確認したいとき |
| COUNTIF | 変えない(列は増える) | 何件あるか・何番目か | 件数を数えたい、並べ替えたい |
| 重複の削除 | 消える | — | 整理後の最終処理 |
順番は「色を付ける → 数える → 消す」です。いきなり削除すると、何がなぜ消えたのか分からなくなります。 特に人から受け取ったデータでは、 重複に見えて実は正しい別データ(同じ会社からの2件の注文など) であることが珍しくありません。
Googleスプレッドシートの場合
Googleスプレッドシートでは データ → データのクリーンアップ → 重複を削除 があります。 重複を除いた一覧を別セルに出す UNIQUE 関数も使えます。