엑셀에서 중복 행을 지우기 전, 어떤 열의 조합을 ‘같은 항목’으로 볼지 먼저 정하세요. 원본을 복사하고 데이터 → 중복된 항목 제거에서 기준 열만 선택합니다. 예를 들어 고객 ID 하나당 행 하나를 남기려면 고객 ID만 선택하고, 수정일 기준 최신 기록을 남길 때는 전체 표를 최신순으로 정렬한 다음 고객 ID만 선택합니다. Excel은 선택한 열의 값 조합이 반복되면 행 전체를 제거하고 첫 행을 남깁니다. 버튼은 복구 가능한 백업이 아니므로 정리 전 원본을 별도 시트나 파일로 보존하세요. Microsoft 공식 안내
1. 같은 행인지, 같은 ID인지부터 정합니다
Excel의 중복 제거는 이름이나 의미를 추측하지 않습니다. 대화상자에서 체크한 열의 값 조합을 키로 삼습니다. 고객 ID와 이름을 함께 체크하면 두 값이 모두 같은 행만 같은 항목으로 판단합니다. 그 조합이 반복되면 체크하지 않은 상태·수정일 같은 다른 열을 포함해 해당 행 전체가 삭제됩니다.
| 원하는 결과 | 제거 대화상자에서 체크할 열 | 실행 전에 볼 점 |
|---|---|---|
| 완전히 똑같은 복사 행만 제거 | 모든 열 | 날짜나 상태가 하나라도 다르면 두 행은 남습니다. |
| 고객당 한 행만 남기기 | 고객 ID | 같은 고객 ID에 이력·주문 행이 여러 개면 지우면 안 됩니다. 표의 한 행이 고객 1명인지 확인하세요. |
| 같은 고객·같은 날짜 조합만 제거 | 고객 ID + 날짜 | 한 열이라도 다르면 별도 조합으로 남습니다. |
| 중복된 값 목록만 다른 곳에 복사 | 데이터 → 고급 필터 → 고유 레코드만 선택 | 원본 행을 직접 삭제하지 않는 복사 경로입니다. |
이름·이메일이 같다고 바로 삭제하지 마세요. 동명이인이거나 공유 이메일, 가족 연락처, 중복 주문처럼 같은 값이 정상적으로 여러 행에 쓰일 수 있습니다. 어떤 업무 단위에서 한 행만 필요한지 먼저 확인하세요.
2. 8행 실습 데이터로 제거 개수와 최신 기록 확인
실습 파일은 고객 5명의 가상 자료 8건입니다. C-101과 C-102는 수정 이력이 각각 두 행 있고, C-103은 같은 행이 두 번 들어 있습니다. C-102와 C-104는 고객 ID와 이름이 다른데 이메일이 같습니다. 따라서 이메일만 기준으로 제거하면 C-104 고객의 행을 잘못 지울 수 있습니다.
| 고객 ID | 이름 | 이메일 | 수정일 | 상태 |
|---|---|---|---|---|
| C-101 | 민서 | minseo@example.test | 2026-10-01 | 활성 |
| C-102 | 준호 | junho@example.test | 2026-10-02 | 보류 |
| C-103 | 아라 | ara@example.test | 2026-10-03 | 활성 |
| C-101 | 민서 | minseo@example.test | 2026-10-05 | 보류 |
| C-104 | 지은 | junho@example.test | 2026-10-04 | 활성 |
| C-102 | 준호 | junho@example.test | 2026-10-06 | 활성 |
| C-105 | 수진 | sujin@example.test | 2026-10-07 | 신규 |
| C-103 | 아라 | ara@example.test | 2026-10-03 | 활성 |
고객 ID 기준으로 각자 최신 한 행만 남기면 8행 중 3행이 제거되고 5행이 남습니다. 예상 결과의 C-101은 10월 5일 ‘보류’, C-102는 10월 6일 ‘활성’입니다. 완전히 동일한 행 전체를 기준으로 하면 C-103 복사본 한 행만 제거되어 7행이 남습니다. 제거 후 상태가 서로 다른 C-101·C-102의 옛 기록은 그대로 남기 때문에, 이 두 기준을 혼동하기 쉽습니다.
| 고객 ID | 이름 | 이메일 | 남는 수정일 | 남는 상태 |
|---|---|---|---|---|
| C-101 | 민서 | minseo@example.test | 2026-10-05 | 보류 |
| C-102 | 준호 | junho@example.test | 2026-10-06 | 활성 |
| C-103 | 아라 | ara@example.test | 2026-10-03 | 활성 |
| C-104 | 지은 | junho@example.test | 2026-10-04 | 활성 |
| C-105 | 수진 | sujin@example.test | 2026-10-07 | 신규 |
3. Excel에서 중복 행 제거하기
- 원본 보존: 원본 시트를 복제하거나 통합 문서 사본을 만듭니다. 복사본에서 작업하면 행이 예상보다 많이 제거됐을 때 비교·복구할 수 있습니다.
- 표 전체 선택: 실습 CSV를 Excel로 열고 데이터 안의 셀을 클릭합니다. 데이터가 일반 범위라면 머리글을 포함한 전체 범위를 확인하고, 표라면 표 안의 셀을 선택합니다.
- 기준 열 선택: 데이터 → 중복된 항목 제거(Data → Remove Duplicates)를 엽니다. 모든 열을 기준으로 쓸 필요가 없으면 모두 선택 해제 후 고객 ID만 체크합니다. 체크한 열은 한 개 또는 여러 열의 조합을 뜻합니다.
- 머리글 확인: 첫 행이 고객 ID·이름 같은 열 제목이라면 ‘내 데이터에 머리글 표시’가 켜져 있는지 확인합니다. 머리글을 데이터로 처리하면 잘못된 기준이 됩니다.
- 결과 검수: Excel이 제거·유지 개수를 알려 주면 예상과 비교합니다. 이 예제에서 고객 ID 기준이면 3개 제거, 5개 유지입니다. 남은 C-101·C-102 상태를 위의 결과 표와 대조합니다.
여러 열을 체크한 예를 들어 고객 ID와 수정일을 기준으로 지정했는데 두 값이 모두 같은 행이 있으면, 상태 열이 달라도 전체 행 하나가 제거됩니다. 체크하지 않은 열은 삭제에서 보호되지 않습니다. 지우려는 중복 기준을 바꾸는 것과 실제 삭제 범위를 바꾸는 것은 다른 일이라는 점을 기억하세요.
Excel은 첫 번째로 나타난 행을 남기고 뒤에 나오는 동일 키 행을 제거합니다. 따라서 최신 행을 남기려면 먼저 순서를 바꾸고, 그 다음 중복을 제거해야 합니다. 제거한 직후에는 Ctrl+Z로 되돌릴 수 있지만, 저장·닫기 전에 원본 사본도 확인하세요.
4. 고객별 최신 기록을 남기려면 전체 표를 먼저 정렬
- 수정일 열의 값이 정렬 가능한 Excel 날짜인지 확인합니다. CSV를 열었을 때 텍스트로 인식됐다면 ‘텍스트 나누기’나 날짜 변환으로 날짜값을 만들고 확인하세요. 고정 폭 ISO 형식(YYYY-MM-DD)은 문자열 정렬도 연·월·일 순으로 배열되지만, 날짜값 변환 후 정렬하는 편이 다른 날짜 형식과 섞였을 때 더 안전합니다.
- 표 안의 셀을 클릭하고 데이터 → 정렬에서 수정일을 내림차순, 최신순으로 정렬합니다. 표 안에서 정렬해 관련 열이 함께 움직이는지 확인하세요. 일반 범위에서 선택 영역 확장 경고가 뜨면 행 전체가 같이 정렬되도록 ‘선택 영역 확장’을 선택합니다. 날짜 열만 따로 정렬하면 고객 ID·이름과 날짜가 엇갈립니다.
- 데이터 → 중복된 항목 제거에서 고객 ID만 체크합니다. Excel이 정렬된 순서에서 첫 행을 남기므로 각 ID의 가장 최근 기록이 남습니다.
- 제거된 행 수와 남은 상태·수정일을 원본 사본과 비교합니다. 같은 고객 ID의 최신 수정 시간이 동률이면 최신 행이 한 개로 결정되지 않으므로, 주문번호나 수정 순번처럼 별도의 우선순위를 정하고 2차 정렬해야 합니다.
정렬 순서가 유지되는지 도구별로 확인하세요. 워크시트의 Excel 중복 제거는 현재 정렬된 순서에서 첫 항목을 남깁니다. Power Query는 중복 제거 시 첫 행을 남긴다고 보장하지 않으므로 날짜 정렬만으로 최신 기록을 보존한다고 가정하면 안 됩니다. Power Query 중복 값 공식 설명
5. 지우기 전에 COUNTIF로 중복 후보 검토
삭제 전에 보조 열에서 중복 후보 행을 확인하려면 고객 ID가 A열이라고 가정하고 2행에 다음 수식을 넣어 아래로 채우세요. 첫 ID 출현은 ‘첫 기록’, 두 번째부터는 ‘중복 후보’로 표시됩니다.
=IF(A2="","ID 확인",IF(COUNTIF($A$2:A2,A2)>1,"중복 후보","첫 기록"))
고객 ID와 날짜 두 열 조합을 기준으로 미리 검사하려면 다음처럼 COUNTIFS를 쓸 수 있습니다. 이 예시는 고객 ID가 A열, 수정일이 D열일 때 같은 조합의 두 번째 이후 행에 표시합니다.
=IF(OR(A2="",D2=""),"키 확인",IF(COUNTIFS($A$2:A2,A2,$D$2:D2,D2)>1,"중복 후보","첫 조합"))
중복 후보는 삭제 지시가 아닙니다. 같은 ID·날짜 행의 상태가 다르거나, 한 ID가 여러 주문을 뜻한다면 먼저 업무 규칙을 확인해야 합니다. 공백 문자나 앞뒤 공백, 대소문자·숫자 형식 때문에 기대와 다르게 보일 수 있습니다. 원본 사본에서 키 값을 정규화하고, 확인된 행만 제거하세요. 조건부 서식의 ‘중복 값’ 강조도 특정 열을 눈으로 살펴보는 데 유용하지만, 서로 다른 열의 복합 키 판정은 수식이나 제거 대화상자의 여러 열 선택으로 다시 확인해야 합니다.
6. UNIQUE 함수는 원본을 보존한 고유 목록에 적합
원본 행을 직접 지우지 않고 옆 영역이나 새 시트에 고유한 결과를 만들고 싶다면 UNIQUE가 맞을 수 있습니다. Excel 365·2024·2021 등 지원 버전에서는 다음 수식으로 A2:E9의 서로 완전히 같은 행만 한 번씩 반환합니다.
=UNIQUE(A2:E9)
반대로 =UNIQUE(A2:A9)는 ID 목록만 돌려줍니다. C-101의 가장 최신 상태 같은 전체 레코드는 선택하지 않습니다. UNIQUE의 기본 비교는 행 전체의 조합이므로, 고객 ID만으로 최신 한 행을 보존하려는 문제와는 다릅니다. 이 용법과 지원 Excel 버전은 Microsoft UNIQUE 함수 안내에서 확인할 수 있습니다.
동적 배열을 지원하지 않는 구버전 Excel이나 결과를 고정된 새 파일로 전달해야 하는 경우에는 복사본에서 제거 기능을 쓰거나 고급 필터로 고유 레코드를 별도 위치에 복사하세요. 매월 같은 폴더의 CSV를 모으고 정리하는 작업이라면 Power Query로 월별 CSV 폴더를 결합하는 방법도 참고할 수 있습니다.
7. 같은 중복 정리를 반복한다면 Power Query 검수
매주·매월 새 파일에 같은 정리 단계를 반복한다면 Power Query에서 기준 열을 정하고 중복 제거 단계를 저장해 새로고침할 수 있습니다. 단, Microsoft 공식 설명상 Power Query는 텍스트 대소문자를 구분하며 중복 제거 후 첫 행을 남긴다고 보장하지 않습니다. ‘먼저 수정일 최신순 정렬 → Remove Duplicates’만으로 최신 행이 항상 남을 거라 가정하지 마세요.
최신 상태 한 건이 목적이면 그룹별 최대 수정일과 행을 연결하는 별도 절차를 사용하고, 수정 시간이 같은 행의 우선순위도 정의해야 합니다. 결과를 로드한 뒤 고객 ID별 1행인지, 동률로 여러 행이 남지는 않았는지 표본을 대조하세요. 정기적으로 새 데이터를 합치고 새로고침하는 전체 흐름은 Excel Power Query CSV 폴더 결합 가이드에서 이어서 볼 수 있습니다.
자주 묻는 질문
고객 ID를 선택했는데 상태가 다른 행도 삭제되나요?
예. 고객 ID 값이 같으면 체크하지 않은 상태·날짜 열이 달라도 행 전체가 중복으로 판정될 수 있습니다. 각 고객이 한 행만 가져야 하는지 확인하고, 이력을 남겨야 하면 고객 ID만으로 삭제하지 마세요.
중복 제거 후 원래 데이터로 되돌릴 수 있나요?
작업 직후에는 실행 취소로 되돌릴 수 있습니다. 안정적인 복구를 위해 작업 전에 원본 시트나 파일을 복사해 두고, 결과를 검수한 뒤 사본을 보관하세요.
이메일을 기준으로 제거해도 되나요?
이메일이 실제 업무에서 유일한 키인지 확인한 뒤 선택하세요. 예제의 C-102와 C-104는 서로 다른 고객 ID지만 같은 이메일을 사용합니다. 이메일 하나만 선택하면 C-104 기록이 제거될 수 있습니다.
UNIQUE로 최신 기록 하나만 남길 수 있나요?
UNIQUE는 전달한 배열의 고유한 행 또는 열을 반환합니다. 고객 ID 하나만 인자로 쓰면 ID 목록만 나오고, 전체 행을 주면 완전히 다른 이력 행은 각각 고유하므로 모두 남을 수 있습니다. ID별 최신 한 행에는 정렬 후 워크시트 중복 제거 또는 검증된 그룹별 최대일 절차를 사용하세요.
이어 읽기
Microsoft 공식 자료
- 고유 값 필터링 또는 중복 값 제거 — 첫 번째 값 유지, 선택한 열 조합과 전체 행 삭제, 원본 복사, 고급 필터로 다른 위치에 복사
- 중복 찾기 및 제거 — 조건부 서식 검토, 영구 삭제, 공백·공백 문자 주의
- UNIQUE 함수 — 배열에서 고유 행·열 반환, 지원 버전
- Power Query에서 중복 값 처리 — 대소문자 구분 및 첫 행 보존 비보장