
엑셀 중복 제거 — Remove Duplicates vs UNIQUE vs Power Query 완전 가이드
Excel 365 기준으로 직접 재현·검증한 절차이며, 초안 정리에 AI 도구를 보조적으로 활용했습니다.
연계 가이드(내부 링크 7개)
1) 결론부터 — 어떤 방법을 써야 할까?
- 한 번만 정리하고 원본을 바꿔도 된다 → Remove Duplicates
- 실시간 고유 목록이 필요하고 원본은 보존 → UNIQUE
- 반복되는 정제가 필요(파일 교체/누적 수집) → Power Query
2) 핵심 비교 표
| 항목 | Remove Duplicates | UNIQUE | Power Query |
|---|---|---|---|
| 원본 보존 | 변경됨(파괴적) | 보존(비파괴) | 보존(변환 결과 별도) |
| 실시간 갱신 | 아니오 | 예(스필) | 새로고침 시 |
| 다열 기준 | 열 다중 선택 | CHOOSECOLS로 결합 | 열 다중 선택 |
| 정렬 | 별도 수행 | SORT와 결합 | 정렬 단계 추가 |
| 드롭다운 소스 | 수동 | 스필 # 참조 | 테이블 출력 참조 |
| 반복 자동화 | 약함 | 중간(수식 유지) | 강함(쿼리 재실행) |
3) 방법① 리본(Remove Duplicates)
- 범위 또는 표 선택(Ctrl+T 권장)
- 데이터 ▸ Remove Duplicates 클릭
- 중복 판단에 쓸 열을 복수 선택 → OK
주의 원본이 바뀝니다. 히스토리가 필요하면 먼저 사본을 만들어 두세요.
4) 방법② UNIQUE 함수(동적)
4-1. 단일 열 고유값
=UNIQUE(SalesTbl[Customer])
4-2. 정렬된 고유값
=SORT(UNIQUE(SalesTbl[Customer]))
4-3. 다열 기준 고유 행
=UNIQUE(CHOOSECOLS(SalesTbl,1,2)) // 1=고객, 2=지역
4-4. 공백 제거/대소문자 정규화 후 고유
=UNIQUE(TRIM(UPPER(SalesTbl[Customer])))
TIP 스필 전체를 참조하려면 =A2#처럼 #을 사용하세요. 데이터 유효성 목록에도 동일하게 적용됩니다.
5) 방법③ Power Query(반복·새로고침)
- 원본을 표로 만든 뒤(Ctrl+T) 데이터 ▸ From Table
- Power Query에서 열 선택 ▸ Remove Duplicates
- 필요하면 Trim/Clean/Uppercase 변환을 추가
- Close & Load로 시트(또는 데이터 모델)에 출력 → 이후 Refresh 한 번으로 재실행
확장 “중복 중 최신만 남기기”는 정렬→그룹화(First) 단계로 구현합니다.
6) 고유값으로 드롭다운 만들기
- 셀에
=SORT(UNIQUE(SalesTbl[Item]))입력 → 스필 생성 - 데이터 ▸ 데이터 유효성 ▸ 목록에서 ‘원본’에
=A2#입력 - 상위/하위 연동 드롭다운은 이 글을 참고
7) 문제 해결 체크리스트
- #SPILL! — 스필 범위에 값/병합 셀/그림이 있는지 확인
- “중복이 아닌데 제거됨” — 공백/비가시문자/대소문자 차이 →
TRIM,SUBSTITUTE(,CHAR(160), " "),UPPER/LOWER로 표준화 후 처리 - Power Query 출력이 추가될 때만 갱신 — Refresh All 또는 Schedule(Office Script/Power Automate) 고려
8) 재방문 과제 & 템플릿
과제 A — “고객×지역” 고유 조합표
=SORT(UNIQUE(CHOOSECOLS(SalesTbl, XMATCH({"Customer","Region"},SalesTbl[#Headers]))))
과제 B — “상위 N 카테고리” 보드
=TAKE(SORT(BYROW(UNIQUE(SalesTbl[Category]), LAMBDA(r, SUMIFS(SalesTbl[Amount], SalesTbl[Category], r))), 2, -1), 5)
이 글을 북마크하고 다음 달에도 동일한 정제 파이프라인을 재현해 보세요. (표→UNIQUE/Power Query→드롭다운)