Excelで作成した顧客リストや在庫表に同じデータが二重登録されていないか確認したい場面は、ビジネスの現場で頻繁に発生するもの。重複を扱う際は、削除よりも先に「チェック・検出」の手順を押さえておくと安全です。本記事では、条件付き書式・COUNTIF関数・UNIQUE関数など目的別に使い分けられるExcelの重複チェック手法を、Microsoft公式情報をもとに図解します。
目次
Excelで作成した顧客リストや在庫表に同じデータが二重登録されていないか確認したい場面は、ビジネスの現場で頻繁に発生するもの。重複を扱う際は、削除よりも先に「チェック・検出」の手順を押さえておくと安全です。本記事では、条件付き書式・COUNTIF関数・UNIQUE関数など目的別に使い分けられるExcelの重複チェック手法を、Microsoft公式情報をもとに図解します。
【最速】条件付き書式の「重複する値」で重複セルに色を付ける
重複チェックでもっとも手軽な方法は、条件付き書式の「重複する値」機能を使ってセルに色を付ける手順です。関数を書く必要がなく、選択範囲のうち重複している値を一瞬で視覚化できます。
参考:Microsoft サポート「重複を検索して削除する」
操作手順
- 重複の有無を調べたいセル範囲を選択
- 「ホーム」タブ →「条件付き書式」→「セルの強調表示ルール」→「重複する値」を順にクリック
- 表示されたダイアログで「重複」を選び、好みの書式(薄い赤の塗りつぶしなど)を指定して「OK」をクリック

選択範囲内で2回以上出現する値が、指定した書式で塗りつぶされます。リストを並べ替えずに、その場で重複箇所を確認できる点がメリットです。
重複と一意の表示を切り替える
「重複する値」ダイアログのプルダウンを「一意」に切り替えると、逆に一度しか出現していない値だけを色付けできます。クリーンなデータを抽出したい場合に役立ちます。
条件付き書式を解除する方法
色付けが不要になったときは、対象範囲を選択して「ホーム」タブ →「条件付き書式」→「ルールのクリア」→「選択したセルからルールをクリア」を実行します。シート全体のルールを一括で消す場合は「シート全体からルールをクリア」を選びます。
ExcelのCOUNTIF関数で重複回数を数える
条件付き書式が「視覚的に見つける」手段だとすれば、COUNTIF関数は「重複が何件あるか」を数値として把握する手段です。重複データの規模感を確認したり、フィルター用の判定列を作ったりするときに使います。
COUNTIF関数の基本書式
COUNTIF関数は、指定した範囲内で特定の値が出現する回数を返す統計関数です。
=COUNTIF(範囲, 検索条件)
- 第1引数「範囲」:数えたいセルの範囲。重複チェック用途では絶対参照($A$2:$A$10 など)で固定します
- 第2引数「検索条件」:何を数えるか。重複チェックでは、対象セル自身(A2 など)を指定します

たとえばA2:A10に氏名リストがあるとき、B2セルに以下の数式を入力します。
=COUNTIF($A$2:$A$10, A1)
下方向にコピーすると、各行に「その氏名がリスト内で何回出現するか」が表示されます。値が2以上のセルが重複データの目印です。

IF関数と組み合わせて「重複」と表示する
数値ではなく「重複」「OK」などのテキストで判定したい場合は、COUNTIF関数をIF関数で包みます。
=IF(COUNTIF($A$2:$A$10, A1)>1, "重複", "")


この式は、A2の値がA2:A10の範囲で2回以上出現した場合に「重複」と表示し、1回だけなら何も表示しません。一覧表をぱっと見たときに重複行が浮かび上がります。
2回目以降の重複だけにマークを付ける
「最初の1件は残し、2件目以降だけ目立たせたい」ケースもよくあります。COUNTIFの範囲を「先頭から自分のセルまで」に絞ると実現できます。
=IF(COUNTIF($A$2:A2, A1)>1, “重複”, “”)
第1引数の終端が絶対参照ではない(A2)点がポイントです。下にコピーすると、2行目以降は$A$2:A3、$A$2:A4と範囲が広がり、過去に同じ値があった場合のみ「重複」と判定されます。
Excelのフィルター機能で重複データだけを表示する
COUNTIF関数で判定列を作ったあと、フィルター機能を組み合わせると重複行だけを抽出表示できます。元データの順番を変えず、確認後にフィルターを解除すれば元の表示に戻る点が便利です。
列名を付けてフィルターを設定する

- 表の1行目に列名を入力(フィルターを使うには見出し行が必要)
- 表内の任意のセルを選択し、「データ」タブ →「フィルター」をクリック
- 各列の見出しに▼マークが表示されたら設定完了
COUNTIF列を使って重複だけ絞り込む
判定列(前述の「重複」と表示される列)の▼マークをクリックし、表示するのは「重複」のみにチェックを入れて「OK」をクリックします。リストに重複行だけが残ります。
フィルターを解除する場合は、▼マークをクリックして「フィルターのクリア」を選ぶか、「データ」タブ →「フィルター」をもう一度クリックします。
参考:Microsoft サポート「重複しない値を抽出する、または重複する値を削除する」
【複数列対応】ExcelのCOUNTIFS関数で複数条件の重複を検出する
「氏名だけの一致では同姓同名と区別がつかない」「社員番号と氏名の両方が一致した場合のみ重複と見なしたい」というケースには、COUNTIFS関数が適しています。COUNTIFSはCOUNTIFの複数条件版で、最大127組の範囲・条件ペアを指定できる関数です。
参考:Microsoft サポート「COUNTIFS 関数」
COUNTIFSの基本書式
=COUNTIFS(条件範囲1, 検索条件1, [条件範囲2, 検索条件2], …)
すべての条件が同時に満たされた行数を返します。
「社員番号+氏名」など2列以上の組み合わせで重複を見つける

A列に社員番号、B列に氏名が入っているリストで、両方一致する重複だけを検出したい場合、C2セルに以下を入力します。
=COUNTIFS($A$2:$A$10, A2, $B$2:$B$10, B2)
下方向にコピーすると、「同じ社員番号かつ同じ氏名」の組み合わせが何件あるかが表示されます。値が2以上なら、その行は他の行とまったく同じレコードがあるという意味です。
IF関数と組み合わせて以下のようにすれば、複数列が完全一致した場合のみ「重複」と表示できます。
=IF(COUNTIFS($A$2:$A$10, A2, $B$2:$B$10, B2)>1, “重複”, “”)
ExcelのUNIQUE関数で重複しない一意のリストを抽出する
「重複を除いた一覧そのものを別の場所に取り出したい」場合は、UNIQUE関数が最短です。UNIQUE関数は指定した範囲から一意の値だけを抽出して動的配列として返します。Microsoft 365およびExcel 2021以降のバージョンで利用できる関数です。
UNIQUE関数の基本
=UNIQUE(範囲)

たとえばA2:A20に氏名リストがあるとき、C2セルに以下を入力するだけで結果が返されます。
=UNIQUE(A2:A20)
ヒットした件数に応じて結果セルが自動で広がります(スピルと呼ばれる動的配列の動作)。元のリストに新しい行を追加しても、テーブル化していれば自動で再計算されます。
参考:Microsoft サポート「動的配列数式とスピル配列の動作」
COUNTAと組み合わせて一意な件数を数える
「重複を除いた人数は実際何人いるのか?」を1セルで把握したい場合、UNIQUE関数とCOUNTA関数を組み合わせます。
=COUNTA(UNIQUE(A2:A20))
UNIQUEの結果(一意リスト)の件数をCOUNTAでカウントする入れ子構造です。重複削除前に「クレンジング後の件数」を見積もる際に活用できます。
Excelで列をまたぐ重複(別の列との重複)を検出する
「A列とB列で同じ値が紛れ込んでいないか確認したい」「2つのリストの間で共通する値だけ知りたい」といった、別の列との重複検出にもCOUNTIFが応用できます。
別の列を範囲指定して照合する
考え方はシンプルで、COUNTIFの第1引数(範囲)に「相手側の列」を指定するだけです。たとえばA列の各値がB列にも出現しているかを調べたい場合、C2セルに以下を入力します。
=COUNTIF($B$2:$B$10, A2)
返ってきた数値が1以上なら、A2の値はB列にも存在するという意味です。IF関数と組み合わせれば「重複」「未登録」など任意のラベルで判定できます。
=IF(COUNTIF($B$2:$B$10, A2)>0, "B列にもあり", "")
旧データと新データの突合や、ホワイトリスト・ブラックリストとの照合といった実務用途で頻繁に使う構文です。
3列以上の組み合わせで重複を見つけたい場合
3列以上の組み合わせ(社員番号+氏名+部署など)でCOUNTIFSの代わりに使える手段として、&演算子で複数列を連結する方法があります。C列に作業列を作り、対象列を連結します。
=A2&B2&C2
下方向にコピーすると、各行に複数列の連結文字列が並びます。この作業列に対してCOUNTIFを適用すれば、3列以上の組み合わせで重複が検出できます。
=COUNTIF($D$2:$D$10, D2)
正確な重複チェックには、チェック対象の表自体が整っていることが前提です。表組みの基本についてはエクセル表の作り方も参考にしてください。
Excelで重複データを実際に削除する場合
重複箇所を発見したあと、実際にデータから取り除きたい場合は、Excel標準の「重複の削除」機能が使えます。「データ」タブ →「重複の削除」を選び、判定対象の列を指定してOKをクリックすると、重複行が一括で消去されます。
ただし、重複の削除は元データを直接書き換える破壊的な操作です。実行前に必ずバックアップを取り、削除条件を慎重に確認することをおすすめします。詳しい手順や注意点は、別記事エクセルでデータの重複を削除する方法で解説しているので、ご覧ください。
参考:Microsoft サポート「重複しない値を抽出する、または重複する値を削除する」
Excelの重複チェックで判定が崩れる原因と対処法
重複チェックを実行したのに「同じデータのはずなのに重複と判定されない」「逆に違うデータが重複と表示される」というトラブルは、データの見えにくい違いに原因があります。よくある落とし穴を整理します。
全角・半角の違い(日本語環境のDBCSの罠)
条件付き書式の「重複する値」機能は、Office のオーサリング言語が日本語など2バイト文字セット(DBCS)に設定されている環境では、半角と全角を同一視する仕様です。たとえば「ABC」(全角)と「ABC」(半角)はどちらも「重複」として色付けされます。
半角と全角を区別したい場合は、条件付き書式の「数式を使用して、書式設定するセルを決定」ルールを使い、COUNTIFではなくEXACT関数(大文字小文字も区別する完全一致)と組み合わせる方法が公式に案内されているので、確認してみてください。
参考:Microsoft サポート「条件付き書式を使用して Excel の情報を強調表示する」
数値書式の違い(1 と 1.00)
セルの値が同じ「1」でも、表示形式が「1.00」と「1」のように異なる場合、Excelの「重複の削除」機能は別の値として扱います。判定対象列の表示形式を統一してから重複チェックを実行することがおすすめです。
参考:Microsoft サポート「一意の値をフィルター処理する、または重複する値を削除する」
空白セル・余分なスペース
「シャープペンシル」と「シャープ ペンシル」のように、見た目はほぼ同じでも途中に半角スペースが入っているデータは、別の値として扱われます。事前にTRIM関数で余分なスペースを除去するか、置換機能(Ctrl+H/⌘+H)でスペースを削除してから重複チェックを行うと精度が上がるのでおすすめです。
データ整形そのものに困っているなら、エクセルの切り捨て方法やエクセル取り消し線の引き方も合わせて参照してください。
COUNTIF範囲の絶対参照漏れ
COUNTIF関数を下方向にコピーした際、第1引数の範囲が相対参照のままだと、コピー先で範囲がずれてしまい正しい判定ができなくなります。範囲指定後にF4キー(Macはfn+F4または⌘+T)で絶対参照($A$2:$A$10)に切り替える操作を忘れないようにしましょう。
よくある質問(FAQ)
Q. 重複チェックと重複削除は何が違いますか?
重複チェックは「重複しているデータがどこにあるか」を可視化する操作で、データは残ります。一方、重複削除は対象の重複行を物理的に取り除く操作です。誤って必要なデータを消すリスクがあるため、まずは条件付き書式やCOUNTIFで重複箇所を確認し、内容を見て判断してから削除する流れが安全です。
Q. Microsoft 365以外のバージョンでもUNIQUE関数は使えますか?
UNIQUE関数はMicrosoft 365およびExcel 2021以降のバージョンで利用できます。Excel 2019以前では使えないため、その場合は条件付き書式で重複を色付けしてから手動で抽出するか、フィルター機能の「重複するレコードは無視する」オプションを利用する方法に切り替えてください。
Q. 何件か重複している場合、2件目以降だけ目立たせる方法はありますか?
COUNTIF関数の範囲を「先頭セル(絶対参照)から自分のセル(相対参照)まで」と指定する手法が便利です。
=IF(COUNTIF($A$2:A2, A2)>1, "重複", "")
この式を下方向にコピーすると、初出は空欄、2回目以降に「重複」と表示されます。「最初の1件は残したいが、それ以降だけ色を変えたい」ケースで使えるテクニックです。
Q. 別シートのデータと重複しているか調べることはできますか?
COUNTIF関数の第1引数を別シートのセル範囲に変更すれば、別シートとの重複も検出できます。たとえばSheet1のA2の値が、Sheet2のA2:A100に存在するかを調べる場合は次のように記述します。
=COUNTIF(Sheet2!$A$2:$A$100, A2)
結果が1以上であれば、別シートに同じ値が存在することを意味します。
まとめ
Excelで重複をチェックする方法は、目的によって使い分けるのが効率的です。本記事で紹介した手法を整理します。
| 目的 | おすすめの手法 | 必要なバージョン |
| とにかく早く重複を可視化したい | 条件付き書式「重複する値」 | 全バージョン |
| 重複の件数を把握したい | COUNTIF関数 | 全バージョン |
| 重複行だけを表示したい | フィルター機能+COUNTIF判定列 | 全バージョン |
| 複数列の組み合わせで重複を判定したい | COUNTIFS関数 | Excel 2007以降 |
| 一意のリストを別の場所に抽出したい | UNIQUE関数 | Microsoft 365/Excel 2021以降 |
| 列をまたぐ重複を検出したい | &演算子で結合+COUNTIF | 全バージョン |
重複チェックの精度を保つには、全角・半角の違いや数値書式の差異など、データの見えにくいゆらぎに注意が必要です。チェック後に実際にデータを取り除きたい場合は、別記事のエクセルでデータの重複を削除する方法で詳しい手順を確認してから実行することをおすすめします。
こちらもチェック!
作業ミスを防ぐ7つの手法とは?働き方が劇変する最高のExcel術
文/Excel研究所







DIME MAGAZINE












