Excelで重複をチェックする方法|削除せず確認する3つの手順とCOUNTIFS

顧客一覧や請求明細を統合したら、同じコードが何行も出てきた。「重複があるから、まとめて削除しておいて」と言われても、すぐには削除しない方が安全です。

なぜなら、同じ取引先コードが複数行あっても、別の契約や別の請求であれば正しいデータだからです。Excelの「重複チェック」で最初に決めるべきなのは、関数でも操作方法でもなく「何が同じなら重複と呼ぶか」です。

取引先コードだけで重複判定すると間違える

以下は、取引先ごとの契約一覧を想定した架空データです。

Excelの行 A:取引先コード B:契約番号 C:契約内容
2 C001 K001 保守A
3 C001 K002 保守B
4 C002 K003 点検
5 C002 K003 点検

「取引先コードの重複」であればC001もC002も該当します。しかし「同じ契約が2回登録された」という意味であれば、4行目と5行目だけが重複候補です。C001の2行は契約番号が異なります。

Excelで取引先コードだけを比較すると正常な複数契約も重複になる一方、取引先コードと契約番号の組み合わせでは真の重複候補だけを抽出できる概念図

図:「1列が同じ」と「業務上のキーが同じ」は違います。図中のデータは架空の例で、Excelの実画面ではありません。

先に、確認したい単位を次のように決めます。

確認したいこと 比較に使う列(例)
同じ取引先コードがいくつあるか 取引先コードのみ
同一契約が複数行登録されていないか 取引先コード+契約番号
同一請求が重複していないか 取引先コード+請求番号、必要に応じて対象年月など

方法1:条件付き書式で重複セルに色を付ける

最も手軽なのが、Excelの条件付き書式です。まずは取引先コードが複数回出てくる行を目視したい場合に使います。

  1. A2:A5 の取引先コード列を選択します。
  2. [ホーム]→[条件付き書式]→[セルの強調表示ルール]→[重複する値]を選びます。
  3. 色を設定して確定します。

この例では、C001とC002の両方に色が付きます。ただし、色が付いたことは「削除してよい」という判定ではありません。 条件付き書式は、選んだセル範囲内の同一値を強調しているだけです。

さらに、前後のスペース、全角・半角、見えない文字、数値と文字列の違いがあると、人間には同じに見えても判定が期待と異なる場合があります。

方法2:COUNTIFで重複件数を数える

値が何回登場するか数えたいなら、COUNTIF を使います。

上の表でD列を「取引先コード件数」とし、D2に次の式を入れてD5までコピーします。

=COUNTIF($A$2:$A$5,A2)

結果はすべて「2」です。つまり、C001もC002も同じ取引先コードが2行ずつあると分かります。

2件以上を抽出したい場合は、D列で2以上の行にフィルターをかけます。元データを削除せずに、候補だけ確認できます。

方法3:COUNTIFSで「複数列の組み合わせ」を確認する

「取引先コードと契約番号が両方同じ」ものだけを判定したいなら、COUNTIFS を使います。

E列を「契約キー件数」とし、E2に次の式を入れてE5までコピーしてください。

=COUNTIFS($A$2:$A$5,A2,$B$2:$B$5,B2)

この式は、A列が同じ、かつB列も同じという条件を満たす行数を数えます。

行 取引先コード 契約番号 COUNTIFS結果 解釈
2 C001 K001 1 重複なし
3 C001 K002 1 重複なし
4 C002 K003 2 重複候補
5 C002 K003 2 重複候補

「2回目以降の出現だけ」を見つけたい場合は、次のように比較範囲の終点を現在行までにする方法があります。F2に入れて下へコピーします。

=COUNTIFS($A$2:A2,A2,$B$2:B2,B2)>1

この場合、4行目は FALSE、5行目は TRUE です。ただし「最初の行が正しく、後の行が不要」という意味ではありません。どちらの記録が正しいかは、原票や更新日時などの別の情報で判断してください。

「重複の削除」は最後に行う

Excelには[データ]→[重複の削除]が用意されています。しかし、この機能は選択列の組み合わせに基づいて行を削除します。選択列を間違えると、本来必要な行まで失う可能性があります。

実務では次の順番を勧めます。

  1. 元ファイルを別名でコピーし、確認対象と行数を記録する。
  2. どの列を合わせたら重複とするか、業務ルールを決める。
  3. 条件付き書式やCOUNTIFSで候補を可視化する。
  4. 重複候補に違いがないか、元票・契約番号・日付・金額などで照合する。
  5. 不要と確定した場合に限り、コピー側で削除し、行数や集計値を再確認する。

請求書や売上明細では、見かけ上の重複が訂正・取消・再計上を意味する場合があります。重複候補=削除対象ではありません。

大量のCSVやマスタを毎月点検する場合

単発の数十行ならExcelの関数で十分です。一方、毎月複数のCSVを受け取る部署では、重複だけでなく、空欄・数値の形式・コードの存在チェックなどを同じルールで繰り返すことがあります。

その場合は、「判定する列」「許容する例外」「エラー行をどう一覧化するか」を先に定義しておくと、担当者ごとの差を減らせます。SWLではこうした業務課題向けに Excel・CSVのデータ品質チェック も紹介しています。少量のデータの確認なら、この記事のExcel標準機能だけで始められます。

よくある質問

Q. COUNTIFとCOUNTIFSはどう使い分けますか

COUNTIFは1条件、COUNTIFSは複数条件を同時に満たす行数を数えます。取引先コードと契約番号の組み合わせのような判定にはCOUNTIFSが向きます。

Q. 何件以上を重複としますか

定義した比較キーが2件以上あれば「同じキーが複数件存在する」状態です。ただし、その状態が業務上の誤りかどうかは別に判断します。

Q. 「重複の削除」を押せば元に戻せますか

作業直後に取り消せる場合もありますが、後からの復旧を保証できません。処理前のファイルを別名保存し、コピーで操作する方が確実です。

まとめ

Excelの重複チェックは、条件付き書式で目立たせる、COUNTIFで数える、COUNTIFSで業務上のキーを照合する、という順番で考えると分かりやすくなります。

とくに顧客・契約・請求データでは、削除する前に「何をもって同一レコードとするか」を確定することが最も重要です。

参考情報