Excelで指定列を基準に重複行を削除する
Microsoft 365、Excel 2024/2021/2019/2016のデスクトップ版とExcel for the webで使える機能です。最初の一致行を残して後続行を削除するため、照合列を決めてコピー上で試します。
公開 · 更新 · FaultNote 編集方針
この記事が役立つ人・作業前の準備
- 名簿や受注一覧の重複行を整理したい人
- どの列が一致したら重複とみなすか決められる人
用意するもの
- 元シートをコピーし、例として氏名・メール・部署を含む表を用意する
- 残したい行が上になるよう更新日などで並べ替える
受注一覧で「何を1件と数えるか」を決める
受注番号・メール・商品・更新日の4列がある一覧を考えます。同じ人が別の商品を購入した行は、メールが同じでも別の受注です。この一覧をメールだけで重複削除すると、必要な購入履歴まで消します。受注を整理する目的なら受注番号、送付先を1人1件にする目的ならメール、同じ人の同じ商品を整理するならメールと商品というように、作業の目的からキーを決めます。1つのファイルに複数の目的を混ぜず、送付用一覧は元の受注表から別シートへ作ります。
同じ受注番号の行に異なる更新日があるなら、最新の行を残すために更新日を降順で並べます。このとき日付列だけではなく表全体を並べ替え、商品とメールの対応を崩さないようにします。処理前の行数を控え、消す予定のIDを数件記録してから削除します。結果の件数が合っていても、必要な列の内容が残っているかは別に確認します。
空欄のメールをキーにすると、未入力の別人を同じグループとして扱う可能性があります。空欄の行を別シートへ退避して確認し、判定できる行だけで処理する方法を取ります。名前が同じという理由だけで空欄を補完せず、確認できる社員番号や受注番号を優先します。削除した行と残した行の記録が必要な作業では、コピーした原表と結果表をIDで照合できる状態で保管します。
処理の担当者が変わる場合は、どの列を照合したかが分かるメモを結果シートへ残します。「重複削除済み」だけではメール単独なのか受注番号なのか分からず、次の担当者が別の目的で再び削除する可能性があります。名簿の人数と受注の件数は単位が違うため、処理後の件数を「一意の受注番号数」など具体的に記録します。
空白文字の整形はコピーの確認列で行い、元列をすぐに上書きしません。例えば見た目が同じメールが重複しない場合は、末尾スペースや入力の違いを確認します。整形後に件数が変わったら代表例を見て、意図した一致だけが増えているか判断します。表の表示形式や入力値を一度に変えず、変えた条件と結果を対応させて確認します。
- 1件の単位を受注・人・商品から決める
- 空欄キーを別に確認する
- 表全体を更新日の降順で並べる
- 代表IDと行数を記録する
削除前に重複候補を見分ける
表の中をクリックするだけではなく、重複を調べるメール列のデータセルを見出しを除いて選択します。[ホーム]>[条件付き書式]>[セルの強調表示ルール]>[重複する値]を選ぶと、例えば [email protected] が2行なら両方が着色されます。これは表示だけで削除しません。
- 見出しを除くメール列のデータセルを選ぶ
- 重複する値を着色する
- 残す行が先頭か確認する
照合する列を指定して削除する
表全体を選び[データ]>[重複の削除]を開きます。先頭行が見出しなら該当項目をオンにし、[すべて選択解除]後に「メール」だけをチェックして[OK]を押します。選んだ列が同じ行は、選ばなかった部署列も含め行全体が削除されます。
- 表全体を選択する
- データから重複の削除を開く
- 照合列だけをチェックしてOKを押す
件数と残った行を確認する
「1個の重複する値が見つかり削除され、4個の一意の値が残りました」などの結果を記録します。着色が消え、意図した [email protected] の先頭行が残ったことをフィルターで確認します。空白や余分な空白文字は別結果になることがあります。
- 結果ダイアログの件数を確認する
- 照合値で絞り込む
- 他列の必要情報が残ったか確認する
誤って消した行を戻す
ブックを閉じる前なら[元に戻す]またはCtrl+Zを使います。保存しただけではUndo履歴は消えません。ブックを閉じてUndo履歴を失った場合は、事前にコピーしたシートから復元します。アウトラインや小計がある範囲では重複削除を実行できないため、元構造を壊さずコピーへ値を貼って処理します。
- ブックを閉じる前にCtrl+Zで取り消す
- 閉じた後はコピーを参照する
- 照合列を修正して再実行する
メール単独と複合キーの結果を比べる
例えば、同じメールで部署が「営業」と「総務」の2行を作ります。メールだけを照合すれば1行が残り、メールと部署を照合すれば2行とも残る想定です。結果が異なるなら、チェックした列と対象範囲を見直します。
重複削除は情報の統合ではありません。片方に電話番号、もう片方に住所がある場合、残った行へ自動で集まりません。統合が必要なら削除前に確認表を作り、各列の採用値を決めます。
- コピー上でメール単独の結果を記録する
- Ctrl+Z後、メールと部署の組み合わせで試す
- 必要な他列の値を移してから本処理する
隣の表と表示形式を確認する
別表が横に並んでいるシートでは、1つの表だけを対象にします。削除対象範囲の外側は同じように動かないため、行位置だけで結び付けた別表と対応が崩れる可能性があります。処理後は行番号ではなくIDで照合します。
日付の表示形式が異なるセルは、内部値が同じでも重複判定が変わることがあります。表示形式をそろえたコピーで比較し、件数だけでなく代表的なIDの残り方を確認します。
- 対象表の境界を確認する
- 日付列の表示形式を統一して再確認する
- 隣接表はIDで対応を点検する
結果から次の操作を選ぶ
表は横にスクロールできます →
| 状態 | 判断 | 次の確認 |
|---|---|---|
| 同じメール、別受注番号 | 受注番号をキーにすれば両方残す | 購入履歴の整理にメール単独を使わない |
| 同じ受注番号、別更新日 | 最新が上なら先頭を残す | 並べ替え後に他列の対応を確認 |
| メールが空欄の複数行 | 個人を判断できない | 削除前に別途確認 |
注意点・利用条件
- 重複の削除は非表示化ではなくデータ削除です
- 選択しない列も、重複と判定された行では一緒に削除されます
よくある質問
同じ氏名でも別人を消さない方法は?
氏名だけでなくメールや社員番号も照合列にし、その組み合わせが一致した行だけを重複とします。
全角・半角や末尾スペースも同じ扱いですか?
表示が似ていても空白などで別値になる場合があります。TRIM等で整形した確認列を作ってから判定します。
同じメールの最新行だけ残せますか?
更新日で表全体を降順に並べてからメールを照合すれば、最初にある行を残せます。ただし別受注を消してよい目的かを先に判断してください。
削除前後の記録は何を残しますか?
原表、対象範囲、照合列、並べ替え条件、処理前後の行数を残します。業務上の確認には、代表的なIDと他列の値が残ったことも記録します。
出典・確認日
情報確認日:。仕様・操作方法・価格などの確認に使用した出典を掲載しています。適用条件や現在の情報は各リンク先で確認してください。
関連する活用ガイド
- Excelの1シートだけをPDF化する:列を1ページ幅に収めて確認する
- Excelの表をテーブルへ変換する
- Excelで入力候補のドロップダウンリストを作る
- Excelで見出し行と左端列を同時に固定する
- ExcelでUTF-8のCSVを文字化けさせずに取り込む
- HDRモニターを買ったあとの調整:Windows HDR Calibrationの要件と、内蔵画面用の別機能