Excelで顧客名簿、受注一覧、在庫表などを扱っていると、複数の列を組み合わせたときだけ重複と判断したい場面があります。
たとえば、顧客名が同じでも商品コードが異なれば残し、顧客名と商品コードの両方が一致する行だけを削除したいケースです。
単一列だけで重複を削除すると、本来必要なデータまで消えるおそれがあるため、対象列を正しく選択して判定することが大切です。
複数条件の重複削除では、重複とみなす列だけを選択します。
先頭行が見出しかどうかを確認します。
削除前に元データをコピーしておくと、誤操作にも対応しやすくなります。
この記事では、Excelの重複の削除機能、関数、補助列、フィルターを使って、複数条件で重複データを判定して削除する方法を解説します。
1行目に見出しがある表を前提として、実務で使いやすい手順を順番に確認していきましょう。
エクセルで複数条件の重複を削除する方法【重複の削除】
それではまず、Excelの標準機能である重複の削除について解説していきます。
| 顧客名 | 商品コード | 数量 | 判定 |
|---|---|---|---|
| 山田商事 | A-101 | 3 | 残す |
| 山田商事 | A-101 | 5 | 削除対象 |
| 山田商事 | B-205 | 2 | 残す |
この例では、顧客名と商品コードが同じ行だけを重複として扱い、数量の違いは判定に含めません。
対象範囲の選択
最初に、削除する可能性があるデータ範囲を選択します。
表内のどこか1つのセルを選択してから操作しても、Excelが連続した表を自動認識することがあります。
ただし、表の途中に空白行や空白列がある場合は、必要な範囲をドラッグして明示的に選ぶほうが安全です。
集計用の列やメモ列まで含めると、意図した重複判定にならないことがあります。
元の一覧を残すため、操作前にシートを複製するか、別ブックへバックアップしておきましょう。
表全体を選択するときは、見出し行を含めて選択します。
ただし、重複判定の列は次の画面で個別に指定できるため、表全体を選んでも問題ありません。
【操作のポイント】削除する行を後で確認できるよう、元データのコピーを作成してから作業します。
重複の削除ダイアログ
続いて、リボンのデータタブを開き、データツールグループにある重複の削除をクリックします。

重複の削除ダイアログが表示されたら、先頭行をデータの見出しとして使用する場合は、先頭行をデータの見出しとして使用するにチェックが入っていることを確認します。
1行目が見出しなのにこの設定を外すと、見出しもデータの一部として処理される可能性があります。
逆に、見出しがない一覧ではチェックを外して、1行目から比較対象に含めましょう。
ダイアログには、選択範囲の各列名がチェックボックスとして表示されます。
複数条件で削除する場合は、重複と判断したい列だけにチェックを残すことが重要です。
顧客名と商品コードの組み合わせで判定する場合は、この2列にだけチェックを入れます。
数量、金額、登録日などを判定に含めないなら、それらのチェックは外します。
【操作のポイント】全て選択のまま実行せず、比較に使う列を必ず目視で確認します。
削除結果の確認
列の選択が終わったら、OKをクリックして重複の削除を実行します。

Excelは上から順にデータを確認し、最初に見つかった組み合わせを残して、2件目以降の同じ組み合わせを削除します。
完了すると、削除した重複値の数と残った一意の値の数がメッセージで表示されます。
たとえば、顧客名が山田商事で商品コードがA-101の行が2件あれば、上側の行が残り、後の行が削除されます。
重複の削除は取り消し操作で戻せますが、保存して閉じた後は元に戻しにくいため注意が必要です。
削除後はフィルターや並べ替えを使い、同じ組み合わせが残っていないかを確認すると安心です。
【操作のポイント】削除件数のメッセージを記録しておくと、データ更新時の確認に役立ちます。
複数条件による重複判定の仕組み
続いては、複数条件で重複がどのように判断されるのかを確認していきます。
| 部署 | 社員番号 | 氏名 | 結果 |
|---|---|---|---|
| 営業部 | 1001 | 佐藤 | 残す |
| 営業部 | 1001 | 佐藤太郎 | 削除対象 |
| 総務部 | 1001 | 佐藤 | 残す |
部署と社員番号の2列を選択した場合、氏名が違っていても、部署と社員番号が一致すれば重複として扱われます。
AND条件による照合

複数列を指定した重複削除は、選択したすべての列が一致したときだけ重複と判定するAND条件です。
顧客名と商品コードを選択した場合、顧客名だけが同じ、または商品コードだけが同じ行は削除されません。
これは、取引先ごとに複数の商品を扱う受注データなどで特に役立つ考え方です。
複数条件の重複削除は、複数の値を1組の識別キーとして比較する操作です。
どの列の組み合わせが1件を識別するのかを決めてから、チェック対象を選びましょう。
顧客IDと商品コードなら、同じ顧客が同じ商品を登録した重複を見つけやすくなります。
顧客名だけでは表記ゆれの影響を受けるため、可能なら顧客IDも活用します。
【操作のポイント】削除前に、何を1件と数えるのかを関係者間で共有しておくと認識違いを防げます。
空白セルと表記ゆれ

見た目が同じように見えるデータでも、空白文字、全角と半角、不要なスペースが含まれていると別の値として扱われることがあります。
たとえば、山田商事と山田商事の後ろに半角スペースが入った文字列は、Excelでは同じではありません。
商品コードでも、A-101とA-101は文字種が異なるため、重複削除では一致しない場合があります。
削除件数が想定より少ないときは、データの表記ゆれを疑うことが有効です。
TRIM関数で不要な空白を整理し、置換機能で全角と半角を統一すると、判定の精度を高められます。
日付が文字列として入力されている列も、日付形式に統一してから比較するのが実務的です。
【操作のポイント】重複削除の前に、入力規則や置換を使って表記のルールをそろえます。
残す行の順序
重複の削除では、表の上にある最初のデータが残ります。
そのため、新しい登録データを残したいのか、古い登録データを残したいのかによって、実行前の並べ替えが必要です。
たとえば、更新日時が新しい行を残したい場合は、更新日時列を降順に並べ替えてから重複の削除を行います。
反対に、最初に登録した情報を優先したい場合は、更新日時を昇順に並べ替えます。
先に並べ替えるだけで、同じ重複削除でも残るレコードをコントロールできます。
並べ替えの対象範囲を拡張する確認画面が出た場合は、表全体を対象にして列の対応関係を保ちましょう。
【操作のポイント】どちらの行を残すかを決め、基準列を並べ替えてから削除を実行します。
COUNTIFS関数による重複データの判定
続いては、削除前に重複行を確認したいときに便利なCOUNTIFS関数を確認していきます。
| A列 顧客名 | B列 商品コード | C列 判定 |
|---|---|---|
| 山田商事 | A-101 | 重複 |
| 山田商事 | A-101 | 重複 |
| 山田商事 | B-205 | 一意 |
COUNTIFS関数を使えば、データを消さずに複数条件で一致する件数を表示できます。
基本数式の入力
判定列としてC列を用意し、C2セルに次の数式を入力します。
=IF(COUNTIFS($A$2:$A$100,A2,$B$2:$B$100,B2)>1,”重複”,”一意”)
この数式は、A列の顧客名がA2と同じで、かつB列の商品コードがB2と同じデータを数えます。
COUNTIFSの結果が2以上なら、同じ組み合わせが複数存在するため、重複と表示されます。
結果が1であれば、その組み合わせは1件だけなので一意と表示されます。
範囲指定にはドル記号を付け、下方向へコピーしても検索範囲がずれないようにします。
太字 B
罫線
中央揃え
| A | B | C | |
|---|---|---|---|
| 1 | 顧客名 | 商品コード | 判定 |
| 2 | 山田商事 | A-101 | 重複 |
| 3 | 山田商事 | A-101 | 重複 |
【操作のポイント】数式を入力する前に、判定列の見出しを作り、元データと区別しやすくします。
先頭行だけを残す数式
重複グループのうち、最初の1行だけを残したい場合は、検索範囲の開始位置を固定し、終点を現在行に合わせます。
=IF(COUNTIFS($A$2:A2,A2,$B$2:B2,B2)>1,”削除候補”,”残す”)
この数式では、2行目ではA2とB2の組み合わせを1回だけ数えるため、残すと表示されます。
同じ組み合わせが3行目にあれば、A2からA3、B2からB3の範囲で2回数えられるため、削除候補になります。
最初のデータを残して2件目以降だけを抽出したい場合に、特に使いやすい数式です。
この判定列で削除候補だけをフィルター表示してから、内容を確認したうえで行を削除できます。
【操作のポイント】直接削除する前に削除候補を表示できるため、重要データを残したい一覧に向いています。
条件付き書式による可視化
判定結果を目立たせたいときは、条件付き書式を組み合わせる方法があります。
判定列で重複と表示されたセル、または削除候補と表示されたセルに色を付けると、確認作業がしやすくなります。
ホームタブの条件付き書式から新しいルールを選び、特定の文字列を含むセルだけを塗りつぶすルールを設定します。
削除候補を淡い赤色にし、残す行は色を付けないようにすると、確認対象が明確です。
色付けは削除そのものではなく確認のための補助なので、安心して試せます。
数千行を超える一覧では、フィルターだけよりも視覚的に見落としを減らせるでしょう。
【操作のポイント】色だけで判断せず、判定列の文字と元データの組み合わせを最後に確認します。
補助列による複数条件の重複管理
続いては、複数の列を結合した補助列で重複を管理する方法を確認していきます。
| 顧客ID | 商品コード | 補助キー |
|---|---|---|
| C001 | A-101 | C001|A-101 |
| C001 | A-101 | C001|A-101 |
補助列を作ると、複雑な組み合わせを1つのキーとして目で確認しやすくなります。
結合キーの作成
たとえば、A列が顧客ID、B列が商品コードなら、C2セルに次の数式を入力します。
=A2&”|”&B2
縦棒は区切り文字として利用しており、異なる列の値がつながっていることを分かりやすくします。
そのまま連結すると、値の組み合わせによっては見分けにくくなるため、区切り文字を挟む方法が便利です。
補助キーを作れば、複数条件の重複を1列の重複として確認できます。
作成後は、補助キー列を対象に重複の削除を実行することもできます。
【操作のポイント】結合に使う列の順番を統一し、すべての行で同じ順序のキーを作成します。
TEXT関数を使う日付条件
日付を含む複数条件では、表示形式の違いによる混乱を避けるため、TEXT関数で形式を統一して結合します。
=A2&”|”&B2&”|”&TEXT(C2,”yyyymmdd”)
この例では、A列とB列に加え、C列の日付を西暦8桁の文字列にして補助キーへ加えます。
2026年4月1日という日付が、表示設定に左右されず20260401として扱われる点がメリットです。
時刻を含むデータでは、日付だけを比較したいのか、時刻まで一致させたいのかを事前に決めましょう。
日付条件を含む重複判定では、比較したい単位に合わせて日付と時刻を整えることが大切です。
【操作のポイント】月単位で判定したい場合は、TEXT関数の表示形式をyyyymmに変更します。
補助キーの削除と保管
重複確認が終わった後、補助列を残すか削除するかは運用目的で決めます。
定期的に同じ形式のデータを取り込む場合は、補助列を残しておくと次回の検査が速くなります。
一方で、提出用の一覧に不要な情報を含めたくない場合は、補助列を削除するか、別シートへ移動するとよいでしょう。
数式ではなく結果だけを残したい場合は、補助キー列をコピーし、値として貼り付けて固定できます。
補助列は作業用データとして扱い、提出前には表示内容を確認する習慣が重要です。
【操作のポイント】作業用シートと提出用シートを分けると、補助列を残したままでも管理しやすくなります。
フィルターと並べ替えによる削除対象の確認
続いては、削除対象を目視で確認するためのフィルターと並べ替えを確認していきます。
| 顧客名 | 商品コード | 判定 |
|---|---|---|
| 山田商事 | A-101 | 削除候補 |
| 山田商事 | A-101 | 残す |
関数で作った判定列を使うと、削除候補だけを表示して内容を確認できます。
判定列のフィルター
見出し行を選択し、データタブのフィルターをクリックすると、各列の見出しに絞り込み用の矢印が表示されます。
判定列の矢印をクリックし、削除候補または重複だけを選ぶと、対象行だけを一覧できます。
この段階で取引金額、備考、更新日なども確認すれば、機械的な判定だけでは判断しにくいデータを見つけられます。
フィルターは行を非表示にするだけで、元データを消さないため事前確認に適しています。
確認後は、表示されているセルだけを選択して行削除する方法もありますが、範囲選択には十分注意しましょう。
【操作のポイント】フィルター中に削除する場合は、非表示行まで選択していないか確認します。
複数列の並べ替え
顧客名、商品コード、更新日の順で並べ替えると、同じ組み合わせの行を近くに集められます。
データタブの並べ替えからレベルの追加を使い、最初のキーを顧客名、次のキーを商品コードに設定します。
さらに更新日時を追加すれば、同一グループ内で新旧のデータを比較しやすくなります。
並べ替えは削除前の確認だけでなく、どの行を先頭として残すかを決める準備にもなります。
重複データを隣り合わせにすると、誤った組み合わせで削除するリスクを下げられます。
【操作のポイント】並べ替えの範囲は表全体にし、1列だけを動かしてデータ対応を崩さないようにします。
テーブル機能による継続管理
データをテーブルとして設定すると、行を追加した際に数式やフィルターが自動で引き継がれやすくなります。
表内を選択して挿入タブのテーブルをクリックし、先頭行を見出しとして使用する設定を確認します。
判定列にCOUNTIFS関数を設定しておけば、新しい行を追加したときにも同じ判定ロジックを反映できます。
定期的にCSVデータを追加する管理表では、テーブル化による運用が便利です。
毎月の受注データを追加する場合は、元データ、補助列、判定列をテーブル内にまとめます。
追加直後に判定列をフィルターすれば、重複候補を素早く確認できます。
【操作のポイント】テーブル名を分かりやすく設定すると、数式や集計で参照しやすくなります。
まとめ エクセルで重複を複数条件で削除する方法
Excelで複数条件の重複データを削除するときは、まず何を同一データとみなすのかを整理することが出発点です。
顧客名と商品コード、部署と社員番号、顧客IDと日付のように、業務上の識別に必要な列を組み合わせて指定します。
標準機能の重複の削除では、比較に使う列だけを選択すると、不要な重複行を効率よく削除できます。
ただし、実行すると行が削除されるため、元データのコピーを残し、どの行を優先して残すかを並べ替えで調整しましょう。
削除前の確認には、COUNTIFS関数で重複や削除候補を表示する方法が便利です。
補助列で複数の値を結合すれば、複雑な条件も1つのキーとして管理しやすくなります。
重複削除は単なる整理ではなく、正しい条件設定と事前確認によってデータ品質を保つ作業です。
フィルター、並べ替え、条件付き書式も活用しながら、必要なデータを残した安全な重複管理を進めましょう。