중복 제거 수식 (UNIQUE)
UNIQUE는 결과를 아래 칸으로 펼쳐 보여 주는 동적 배열 함수예요. 원본이 바뀌면 목록도 저절로 바뀌어요.
UNIQUE, 고유 목록이 펼쳐지는 방식과 옛 엑셀 대안
고유 목록은 언제 필요할까
판매 기록에서 ‘우리가 어느 지역에 팔았나’, 출장 내역에서 ‘다녀온 도시 목록’, 설문 응답에서 ‘나온 답의 종류’처럼 중복을 걷어 낸 목록이 필요한 순간이 많아요. 이 목록을 옆에 두고 COUNTIF나 SUMIF를 걸면 지역별 건수표, 품목별 합계표가 금방 만들어지고, 데이터 확인 목록(드롭다운)의 원본으로도 쓸 수 있어요. ‘중복된 항목 제거’ 메뉴와 달리 UNIQUE는 원본을 건드리지 않고, 원본에 새 값이 생기면 목록에도 저절로 추가돼요.
사용 방법

1단계범위와 정렬 고르기
- 1① 고유 목록을 만들 범위를 적어요. 여러 열을 적으면 열 조합이 같은 행을 하나로 봐요.
- 2② 원래 순서로 둘지, 가나다·숫자 순으로 정렬할지 골라요. 정렬을 고르면 SORT가 바깥에 씌워져요.
- 3③ ‘딱 한 번만 나온 값’을 고르면 두 번 이상 나온 값은 아예 빼고 한 번뿐인 값만 남겨요.

2단계옵션 켜고 수식 고르기
- 4④ 빈칸 빼기는 FILTER로 빈 행을 먼저 걸러요. 개수 표시를 켜면 옆 칸에 넣을 COUNTIF 수식이 추가돼요.
- 5⑤ 맨 위가 엑셀 2021·365용 UNIQUE예요. 아래로 고유 개수 수식과 옛 엑셀용 수식이 이어져요.
예제 데이터로 보는 결과
예제 판매 기록 10행에 각 옵션을 적용하면 이렇게 나와요. 원래 순서는 위에서부터 처음 나온 순서예요.
| 설정 | 범위 | 결과 |
|---|---|---|
| 원래 순서 | 지역 B2:B11 | 서울, 부산, 대구, 광주 |
| 오름차순 | 제품 D2:D11 | 노트북, 마우스, 모니터, 키보드 |
| 딱 한 번만 나온 값 | 지역 B2:B11 | 광주 |
| 딱 한 번만 나온 값 | 담당자 C2:C11 | 박도윤, 최하은, 정시우, 강지아, 조하준, 윤서아 |
| 개수 표시 (COUNTIF) | 지역 | 4, 3, 2, 1 |
개수 수식의 S2#은 ‘S2에서 펼쳐진 결과 전체’를 가리키는 표시예요. UNIQUE를 S2에 넣었다는 가정으로 만들어서, 다른 칸에 넣었다면 그 주소로 바꿔 써요.
옛 엑셀용 수식의 원리
UNIQUE가 없는 버전용 수식은 한 칸씩 아래로 채우면서 ‘위에서 이미 나온 값’을 세요. S2 칸의 COUNTIF($S$1:S1, 원본)은 원본의 값마다 위쪽 결과에 몇 번 있었는지 셈해요. 아직 안 나온 값은 0이 되고, MATCH(0,…)가 그중 첫 번째 위치를 찾아 INDEX로 꺼내요. 한 칸 내려갈 때마다 위쪽 범위가 한 칸씩 늘어나서 같은 값이 다시 뽑히지 않아요.
결과를 어디에 둘까
UNIQUE 결과는 수식을 넣은 칸부터 아래로 펼쳐지고, 원본에 값이 늘면 펼쳐지는 길이도 늘어나요. 그래서 원본 표의 바로 아래보다는 원본 오른쪽의 빈 열이나 따로 만든 요약 시트가 안전해요. 결과가 원본 범위와 겹치면 자기 결과를 다시 읽는 순환 참조가 되고, 엑셀 표(Ctrl+T로 만든 표) 안에서는 펼쳐지는 수식을 쓸 수 없어 #SPILL!이 나요. 표 바깥의 빈 영역에 두세요.
주의할 점
- 빈칸 빼기와 여러 열 — 빈칸 빼기는 범위의 첫 열만 보고 빈 행을 걸러요. 첫 열은 비었는데 다른 열에 값이 있는 행도 함께 빠지니, 여러 열 범위라면 첫 열이 꼭 채워진 열이 되도록 순서를 정하세요.
- 옛 엑셀 수식은 한 열만 — 셋째 카드는 한 열 범위를 전제로 해요. S1에는 제목을 두고 S2부터 아래로 넉넉히 채우면 남는 칸은 빈칸으로 보여요.
더 궁금한 점
예제 엑셀에는 어떤 수식이 들어 있나요?
연습 데이터 옆 E열에 옛 엑셀용 지역 고유 목록과 F열에 그 지역 건수가 채워져 있고, 오른쪽에는 UNIQUE·SORT(UNIQUE) 수식과 지역·담당자 고유 개수 수식이 있어요.
고유한 값 개수만 알면 될 때는요?
둘째 카드의 SUMPRODUCT 수식은 모든 버전에서 개수만 바로 돌려줘요. 예제 지역 열이면 4, 담당자 열이면 8이에요.
UNIQUE로 중복 없는 목록 만들기
UNIQUE(범위, [열 기준], [한 번만])은 범위에서 중복을 뺀 값을 위에서부터 나온 순서대로 돌려줘요. 결과는 수식을 넣은 칸부터 아래로 펼쳐지고(동적 배열), 원본에 값이 추가되면 목록도 저절로 길어져요. 거래처 목록, 담당자 목록, 드롭다운에 쓸 항목 목록을 만들 때 가장 편한 방법이에요.
함께 쓰는 함수
- SORT(UNIQUE(…)) — 고유 목록을 가나다순·숫자 크기순으로 정렬해요. 두 번째 인수 다음에 -1을 주면 내림차순이에요.
- UNIQUE(FILTER(범위, 범위<>"")) — 빈칸이 목록에 0이나 빈 줄로 섞이지 않게 먼저 걸러요.
- UNIQUE(범위,,TRUE) — 세 번째 인수 TRUE는 ‘딱 한 번만 나온 값’만 남겨요. 한 번만 주문한 고객 찾기에 써요.
- COUNTIF(범위, S2#) — S2#은 S2에서 펼쳐진 결과 전체를 뜻해요. 고유 값마다 몇 번 나왔는지 옆에 세어 줘요.
여러 열을 기준으로
범위를 B2:D11처럼 여러 열로 주면 ‘행 전체’가 같은 경우만 중복으로 봐요. 지역과 제품이 모두 같은 행만 하나로 합치는 식이에요. 결과도 여러 열로 펼쳐져요.
UNIQUE가 없는 엑셀이라면
엑셀 2019 이하에서는 INDEX·MATCH·COUNTIF를 조합한 수식을 첫 칸(S2)에 넣고 아래로 채워요. 위 칸들(S$1:S1)에 아직 없는 값 중 첫 번째를 찾아오는 원리라서, 아래로 채울수록 다음 고유 값이 나와요. 예제 파일 E열에서 실제로 동작하는 모습을 볼 수 있어요. 개수만 필요하면 SUMPRODUCT(1/COUNTIF()) 방식의 고유 값 개수 수식이 모든 버전에서 동작해요.
파일 자체에서 중복 행을 지우고 싶다면 데이터 탭의 ‘중복된 항목 제거’를 쓰거나, 어떤 값이 중복인지 표시하려면 ‘중복 찾기 수식’ 도구를 쓰세요.
자주 묻는 질문
#SPILL! 오류가 나요.
결과가 펼쳐질 아래 칸에 이미 값이 있어서예요. 수식 아래쪽을 비워 두세요. 표(Ctrl+T) 안에서는 동적 배열이 펼쳐지지 않으니 표 바깥에 넣으세요.
대소문자를 구분하나요?
UNIQUE는 대소문자를 구분하지 않아요. ‘Apple’과 ‘apple’은 같은 값으로 봐요.
고유 목록으로 드롭다운을 만들 수 있나요?
돼요. UNIQUE를 S2에 두고 데이터 유효성 검사 원본에 =$S$2#을 넣으면 값이 늘어날 때 드롭다운도 함께 늘어나요.