Excel에서 중복 항목을 제거하는 방법: 명령, 수식, Power Query
By Mirko Peters ·
Excel에서 중복 항목을 제거하는 방법을 정리했습니다. 데이터 탭의 중복 항목 제거 명령을 쓰거나, UNIQUE 함수, 수식, Power Query로 원본 데이터를 그대로 둔 채 결과를 만드는 방법까지 단계, 제한 사항, 흔한 실수를 함께 다룹니다.
Automatically translated with AI from the original post. Read the English original
Excel에서 중복 항목을 제거하려면 데이터를 선택한 뒤 데이터 > 중복 항목 제거로 이동하고, 중복 여부를 판단할 기준 열을 선택한 다음 확인을 선택하십시오. Excel은 해당 열의 값이 반복되는 모든 행을 삭제하고 첫 번째 행만 남깁니다. 이 글은 목록, 내보내기 파일, 보고서를 정리하면서 적절한 방법을 고르려는 Excel 사용자를 위한 것입니다. 먼저 명령을 살펴본 뒤, 삭제 전에 중복을 확인하는 방법, 원본 데이터를 그대로 유지하는 방법, 반복 작업을 위한 자동화 방법을 차례로 다룹니다.
핵심 포인트
- 데이터를 선택한 다음 [데이터] 탭을 열고 [중복 항목 제거]를 누르십시오. 중복을 정의하는 열을 선택하고 [확인]을 누르면 Excel이 행 전체를 삭제하고 처음 발견된 항목을 유지합니다.
- 삭제는 영구적이므로 먼저 데이터를 다른 시트에 복사해 두십시오. Ctrl+Z는 다른 작업을 하기 전까지만 사용할 수 있습니다.
- Excel은 셀에 표시된 내용을 기준으로 비교하므로 3/8/2006과 2006년 3월 8일은 서로 다른 값으로 취급됩니다. 먼저 서식을 정리하십시오.
- 삭제하기 전에 중복 항목을 확인하고 싶다면 조건부 서식으로 강조 표시하거나, COUNTIF 도우미 열로 표시하십시오.
- UNIQUE와 Power Query는 원본 데이터를 건드리지 않고 정리된 목록을 제공하며, Power Query는 새로 고칠 때마다 정리 작업을 반복합니다.
Excel에는 이 작업을 위한 도구가 여러 개 있습니다. "중복"이 가리키는 의미가 여러 가지이기 때문입니다. 어떤 경우에는 모든 값이 동일한 행을 뜻하고, 어떤 경우에는 같은 고객 ID에 전화번호만 다른 행을 뜻합니다. 무언가를 클릭하기 전에 어떤 의미의 중복인지 먼저 정하십시오.
데이터 탭 명령으로 중복 항목 제거하기
가장 빠른 방법이며 대부분의 사용자에게 필요한 방법입니다. Microsoft의 고유 값 필터링 또는 중복 값 제거 문서를 따릅니다.
- 데이터를 백업하십시오. 범위를 다른 시트나 통합 문서에 복사하십시오. Microsoft는 이 점을 분명히 밝힙니다. 중복 항목은 영구적으로 삭제됩니다.
- 범위를 선택하십시오. 데이터 안의 셀이나 Excel 표 안의 셀을 클릭하거나 범위를 직접 선택하십시오. 선택한 범위나 표만 변경되며, 그 밖의 셀은 그대로 유지됩니다.
- 명령을 여십시오. 데이터로 이동한 후 데이터 도구 그룹에서 중복 항목 제거를 선택하십시오.
- 열을 선택하십시오. 대화 상자에서 Excel이 비교해야 할 열을 체크하십시오. 모두 선택 또는 모두 선택 취소를 사용할 수 있습니다. 첫 번째 행에 열 이름이 있다면 내 데이터에 머리글이 있음 옵션을 계속 체크해 두십시오.
- 확인을 선택하십시오. Excel은 제거된 중복 값의 개수와 남은 고유 값의 개수를 알려주는 메시지를 표시합니다.
4단계는 사람들이 자주 실수하는 부분이니 주의해서 확인하십시오. 행은 선택한 모든 열의 값이 일치할 때만 중복으로 간주됩니다. ID, Name, Price가 있는 목록을 예로 들어 보겠습니다. ID와 Name만 선택하고 Price는 선택하지 않으면, 가격이 달라도 ID와 이름이 같은 두 행이 중복으로 판단되어 Excel이 두 번째 행 전체(가격 포함)를 삭제합니다. 값이 다른 행을 모두 남기고 싶다면 모든 열을 선택하십시오. ID만으로 레코드가 정의된다면 ID만 선택하되, 그 과정에서 어떤 데이터가 삭제되는지 반드시 확인하십시오.
결과가 이상하다면 명령을 실행한 직후 Ctrl+Z를 누르십시오. 나중에 되돌리는 것에 의존하지 마십시오.
어느 행이 남을지: 먼저 정렬하기
Microsoft에 따르면 처음 나타나는 행은 남고 이후의 동일한 행은 삭제됩니다. 즉, 행의 순서가 결과를 결정합니다. 한 사람당 여러 항목이 있는 연락처 목록에서 가장 최근 항목을 남기고 싶다면, 날짜를 최신순으로 정렬한 다음 중복 항목 제거를 실행하십시오. 이메일 주소가 입력된 행을 남기고 싶다면, 해당 행이 먼저 오도록 정렬하십시오. 이 경우 정렬은 부가 작업이 아니라 정리 과정의 일반적인 단계입니다.
동일한 것으로 간주되는 기준
Excel은 저장된 값이 아니라 셀에 표시된 값을 비교합니다. Microsoft의 예를 들면, 날짜가 같더라도 3/8/2006과 Mar 8, 2006은 서로 다른 값으로 취급됩니다. 서식이 다른 숫자나 끝에 공백이 있는 텍스트도 마찬가지입니다. 중복 찾기 및 제거 관련 문서에서는, 이후 Excel이 표시하는 개수에 빈 셀이나 공백이 포함될 수 있다고도 설명합니다.
제거하기 전에 셀의 형식을 통일하십시오. 하나의 날짜 서식을 적용하고, 불필요한 공백을 제거하며(TRIM 함수로 가능합니다), 숫자가 텍스트로 저장되어 있지 않은지 확인하십시오. Microsoft 문서에는 이 명령이 대소문자를 구분하는지에 대한 설명이 없으므로, 대소문자가 중요하다면 작은 범위에서 먼저 테스트해 보십시오.
명령이 실행되지 않는 경우
개요(그룹) 또는 부분합이 있는 데이터에서는 중복 항목을 제거할 수 없습니다. 먼저 개요와 부분합을 제거한 다음 명령을 실행하십시오.
삭제하기 전에 중복 항목을 확인하십시오
Microsoft는 바로 삭제하기보다 먼저 필터를 적용하거나 강조 표시한 후 삭제할 것을 권장합니다. 이 방법은 1분 정도면 되고, 대부분의 후회를 막아 줍니다.
조건부 서식으로 중복 항목 강조 표시
- 확인하려는 셀을 선택하십시오.
- 홈 탭에서 조건부 서식을 연 다음 셀 강조 표시 규칙, 중복 값 순서로 선택하십시오.
- 강조 스타일을 고른 후 확인을 선택하십시오.
이제 반복되는 모든 값에 색이 적용됩니다. 이 방법은 피벗 테이블의 값 영역에는 적용할 수 없습니다. 또한 이 방법은 한 번에 한 열만 검사하므로, 여러 열에 걸쳐서만 반복되는 행은 강조되지 않습니다. 이런 경우에는 도우미 열이 필요합니다.
도우미 열로 중복 행 표시하기
도우미 열은 모든 행 옆에 TRUE 또는 FALSE 값을 표시합니다. 이를 이용해 필터링하고 검토한 뒤 삭제할 수 있습니다.
- 데이터 옆에 열을 삽입하고 "중복 여부?"와 같은 머리글을 입력하십시오.
- A열을 검사하는 경우 B2에 다음을 입력하십시오:
=COUNTIF(A$2:A2,A2)>1 - 수식을 아래로 채우십시오. 값이 처음 나타나면 FALSE가 표시되고, 이후에 다시 나타나는 모든 값에는 TRUE가 표시됩니다.
- 도우미 열을 TRUE 기준으로 필터링하십시오. 해당 행을 검토하고, 실제로 중복이라면 삭제하십시오.
수식을 복사할수록 A$2:A2 범위가 늘어나므로, 나중에 나타나는 항목만 표시되고 첫 번째 항목은 그대로 남습니다. 이는 중복 항목 제거 명령의 동작과 일치합니다.
여러 열을 동시에 검사하려면 열을 연결한 키 열을 만드십시오: =A2&"|"&B2&"|"&C2. 그런 다음 이 키 열에 COUNTIF를 적용하십시오. 필드 사이에는 파이프(|)와 같은 구분 기호를 넣으십시오. 구분 기호가 없으면 "12"와 "34", "1"과 "234"가 모두 "1234"가 되어 같은 레코드처럼 보이게 됩니다.
필터 방식에도 단점이 있습니다. 필터된 행을 선택해 삭제할 때는 화면에 보이는 플래그된 행만 선택되었는지 확인하고, 원본이 아닌 복사본에서 작업하십시오. 확신이 서지 않으면 도우미 열을 정렬하여 TRUE인 행 블록을 한꺼번에 삭제하는 것이 좋습니다.
중복 없는 목록을 얻으면서 원본 유지하기
때로는 아무것도 삭제하고 싶지 않을 수 있습니다. 드롭다운 목록, 요약 또는 가져오기에 사용할 깔끔한 목록만 필요할 때가 있습니다. 이런 경우에는 세 가지 방법이 적합합니다.
UNIQUE 함수
Excel for Microsoft 365, Excel 2024, Excel 2021에서 =UNIQUE(A2:A100)은 범위에서 중복되지 않는 모든 값을 반환하며, 결과는 아래 셀로 자동으로 확장(spill)됩니다. Microsoft는 이 함수를 Excel for the web과 모바일 앱에서도 사용할 수 있다고 안내합니다. 구문은 =UNIQUE(array,[by_col],[exactly_once])입니다:
array는 검사할 범위입니다. 여러 열로 구성되어 있으면 UNIQUE는 행 전체를 비교합니다.by_col을 TRUE로 지정하면 행이 아닌 열을 기준으로 비교합니다. 일반적인 행 비교를 원하면 생략하세요.exactly_once를 TRUE로 지정하면 데이터에서 한 번만 나타나는 행만 반환합니다. 생략하면 중복되지 않는 모든 행이 반환됩니다.
원본이 바뀌면 결과도 업데이트됩니다. 원본이 Excel 표이고 구조적 참조를 사용하면, 행을 추가하거나 삭제할 때 확장되는 범위의 크기도 함께 조정됩니다. 정렬된 목록이 필요하다면 함수를 감싸세요: =SORT(UNIQUE(A2:A100)).
두 번째와 세 번째 인수는 생각보다 중요합니다. =UNIQUE(A2:A100,,TRUE)는 정확히 한 번만 나타나는 값을 반환하는데, 이는 "추가 중복 항목 제거"와는 다른 질문입니다. 무엇이 필요한지 먼저 확인하세요.
한 가지 제한 사항이 있습니다. 이전 버전인 Excel 2019 이하에는 UNIQUE 함수가 없습니다. Microsoft 문서에는 위에서 언급한 버전만 나와 있습니다.
고급 필터
모든 데스크톱 버전에서 작동하며, 결과를 다른 위치에 복사합니다.
- 데이터를 선택합니다.
- 정렬 및 필터 그룹에서 데이터 > 고급으로 이동하십시오.
- 다른 위치에 복사를 선택합니다.
- 다음 위치에 복사 상자에 셀을 입력하고 고유 레코드만을 선택합니다.
- 확인을 선택합니다.
원본 데이터는 그대로 남고, 중복되지 않는 행이 새 위치에 나타납니다.
이전 방식의 수식 패턴
UNIQUE를 사용할 수 없다면 새 열에 =IF(COUNTIF($A$2:A2,A2)=1,A2,"")을 입력하고 아래로 채웁니다. 각 값은 한 번씩만 표시되고, 반복되는 값은 빈 문자열로 바뀝니다. 열을 복사한 뒤 값으로 붙여넣고 빈 셀을 필터로 제외하세요. 번거롭지만 모든 버전에서 작동합니다.
부분 일치와 대소문자 차이 처리
실제 데이터는 깔끔하게 복제된 경우가 드뭅니다. 자주 마주치는 상황은 세 가지입니다.
완전 중복. 선택한 모든 열이 일치합니다. 이 경우 명령으로 충분히 처리할 수 있습니다.
부분 일치. 키 열은 반복되지만 다른 필드가 다릅니다. 예를 들어 같은 고객 ID에 주소가 두 개 있는 경우입니다. 이때는 어떤 값이 맞는지 직접 판단해야 합니다. 올바른 행이 먼저 오도록 정렬한 뒤 키 열만 기준으로 중복을 제거하거나, 도우미 열로 반복 항목을 표시하고 수작업으로 검토하세요. 어떤 도구도 어느 주소가 정확한지는 알려주지 못합니다.
대소문자 차이. Microsoft 문서에 따르면 Power Query는 대소문자를 구분하므로, 거기서는 "Apple"과 "apple"이 중복으로 간주되지 않습니다. 권장되는 해결 방법은 중복을 제거하기 전에 변환을 통해 열을 대문자 또는 소문자로 바꾸는 것입니다. 이 작업은 저장된 값을 변경하므로, 정확한 철자가 여전히 필요하다면 원본 열을 남겨 두세요.
자동화하기: Power Query와 VBA
일회성 정리라면 명령만으로 충분합니다. 매주 정리해야 하는 파일이라면 반복 실행되는 구성을 만드세요.
Power Query
데이터가 CSV 파일, 데이터베이스 또는 다른 통합 문서에서 온다면 가져오는 과정에서 중복을 제거하세요. Power Query는 이 단계를 기록하고 새로 고칠 때마다 다시 실행합니다.
- Power Query 편집기로 데이터를 불러옵니다. 데이터가 이미 워크시트에 있다면 데이터 내의 셀을 선택하고 쿼리 > 편집을 선택하거나, 데이터 > 데이터 가져오기로 새 원본을 불러오세요.
- 열 머리글을 클릭하여 열을 선택합니다. Shift 또는 Ctrl 키를 누른 상태로 여러 열을 선택할 수 있습니다. 열이 서로 인접해 있을 필요는 없습니다.
- 홈 > 행 제거 > 중복 항목 제거로 이동합니다.
- 결과를 닫고 로드합니다.
Microsoft의 Power Query에서 중복 행을 유지하거나 제거하는 방법 문서에는 다음 단계가 나와 있습니다. 중복과 관련해 알아둘 만한 지침이 있습니다. 중복 여부는 선택한 열에 따라 결정되며, Power Query는 중복 값 집합에서 첫 번째 행을 유지한다고 보장하지 않습니다. 어느 행이 남는지가 중요하다면 정렬에만 의존하지 마십시오. Microsoft는 Power Query의 일반적인 문제 문서에 있는 "정렬 유지" 지침을 참고하라고 안내합니다. 관련 옵션인 중복 유지는 반대로 동작합니다. 값이 두 번 이상 나타나는 행만 남기므로 목록을 빠르게 점검하는 데 유용합니다.
두 테이블을 병합하는 경우 중복 제거를 어디에서 수행할지 생각해 보십시오. 병합 전에 각 원본에서 중복을 제거하면 병합 결과가 작고 예측 가능하게 유지됩니다. 병합 후에 제거하면 병합으로 생긴 중복을 정리하게 됩니다. 중복이 어디에서 발생하는지에 따라 선택하고, 로드하기 전에 미리 보기에서 행 수를 확인하십시오.
VBA 매크로
매일 여는 통합 문서에서 같은 정리 작업을 반복한다면 매크로를 사용할 수 있습니다. Range 개체에는 Microsoft VBA 참조에 설명된 RemoveDuplicates 메서드가 있습니다. 이 메서드는 비교할 열을 받고, 첫 번째 행이 머리글인지 지정합니다. Microsoft가 제시한 예는 다음과 같습니다.
ActiveSheet.Range("A1:C100").RemoveDuplicates Columns:=Array(1,2), Header:=xlYes
이 코드는 A1:C100 블록의 첫 두 열을 비교하고 첫 번째 행을 머리글로 취급합니다. 사용하려면 Alt+F11을 누르고 모듈을 삽입한 뒤, 이 줄을 Sub 안에 붙여 넣고 파일을 매크로 사용 통합 문서(.xlsm)로 저장하십시오. 먼저 사본에서 실행해 보십시오. 매크로도 명령과 마찬가지로 영구적으로 삭제하며, Ctrl+Z로는 행을 되돌릴 수 없습니다. IT 팀에서 매크로를 차단하고 있을 수도 있으므로, 동료들이 실행할 수 없는 도구를 만들기 전에 확인하십시오. 이 언어에 대해 더 알고 싶다면 VBA 페이지에 관련 자료가 모여 있습니다.
웹 및 모바일용 Excel
중복 제거에 관한 Microsoft 문서는 데스크톱 버전의 Excel(Microsoft 365, 2024, 2021, 2019, 2016)만 다루며, 웹이나 모바일 앱에 대해서는 언급하지 않습니다. Microsoft는 해당 버전에서 중복 제거 명령을 설명하지 않으므로, 이에 의존해 작업 절차를 만들지 마십시오. Microsoft가 웹과 모바일에 대해 문서화한 것은 UNIQUE 함수이므로, 해당 기기에서 깔끔한 목록을 얻으려면 이 함수를 사용하고 영구 삭제는 데스크톱에서 수행하십시오.
흔한 실수
- 백업 없이 명령을 실행하는 것. 파일을 닫으면 행은 영원히 사라집니다.
- 잘못된 열을 선택하는 것. 열을 빼면 중복으로 판단되는 행이 달라지고, 반복되는 셀만 지워지는 것이 아니라 행 전체가 삭제됩니다.
- 먼저 정렬하지 않아서, 새 레코드 대신 이전 레코드가 남은 이유를 나중에 궁금해하는 것.
- 겉보기에는 같아도 서식이 다른 셀을 비교하는 것. 예를 들어 날짜를 두 가지 방식으로 적었거나 텍스트 뒤에 공백이 있는 경우입니다.
- 개요 또는 부분합이 있는 데이터에 명령을 실행하려는 것. 먼저 이를 제거하십시오.
UNIQUE에서exactly_once를 TRUE로 설정하면 초과 항목을 삭제할 수 있다고 생각하는 것. 이 설정은 한 번만 나타나는 값만 반환하므로, 반복된 값은 결과에서 완전히 사라집니다.
살펴볼 만한 관련 주제
- 무엇이든 삭제하기 전에 조건부 서식으로 중복을 강조 표시하고, COUNTIF 도우미 열로 반복되는 행을 표시하십시오. 두 방법 모두 위에서 다뤘습니다.
- 가져올 때 데이터를 정리하십시오. Power Query 단계를 사용하면 새로 고칠 때마다 중복이 들어오지 않으며, CSV 파일과 다른 시스템의 데이터에도 잘 맞습니다.
- 입력 단계에서 중복을 막으십시오. 사용자가 이미 존재하는 값을 입력하지 못하도록 사용자 지정 수식을 사용한 데이터 유효성 검사를 설정할 수 있습니다. 먼저 작은 시트에서 테스트해 보십시오.
- 반복 작업은 매크로로 자동화하고, 사본에서 안전하게 실행하는 방법을 익히십시오.
- 중복이 자주 생기는 원인인 여러 출처의 데이터 병합. 정리와 병합의 순서를 미리 계획하십시오.
다음 단계
다음 정리 작업 전에 데이터를 복사하고, 조건부 서식으로 중복을 강조 표시해 개수를 확인하십시오. 그다음 사본에서 중복 제거를 실행하고, 그 개수를 Excel이 보고하는 숫자와 비교해 보십시오.