엑셀 데이터를 다루다 보면 필연적으로 중복된 값을 마주하게 됩니다.
이 중복을 제거하고 유니크한(고유한) 값들만 추출하는 작업은 데이터 분석의 핵심 단계 중 하나인데요.
엑셀의 강력한 동적 배열 함수인 UNIQUE 함수를 파헤쳐 보고, 단순한 활용을 넘어 실무에서 바로 써먹을 수 있는 최상급 고급 예제까지 함께 알아보겠습니다.
UNIQUE 함수란?
UNIQUE 함수는 지정된 범위에서 고유한 값만으로 이루어진 목록을 반환하는 엑셀의 동적 배열 함수입니다.
동적 배열 함수는 결과를 단일 셀에 반환하는 것이 아니라, 결과 범위에 따라 자동으로 확장되어 표시되는 특징을 가지고 있습니다.
기본 구문 : =UNIQUE(array, [by_col], [exactly_once])
- array (필수): 중복을 제거하고 고유한 값을 추출할 범위 또는 배열입니다.
- [by_col] (선택):
FALSE (또는 생략): 행을 기준으로 고유한 값을 찾습니다. (기본값)
TRUE: 열을 기준으로 고유한 값을 찾습니다. - [exactly_once] (선택):
FALSE (또는 생략): 범위에서 모든 고유한 값을 반환합니다. (기본값)
TRUE: 범위에서 한 번만 나타나는 고유한 값만 반환합니다.
UNIQUE 함수 기본 사용법
가장 기본적인 사용법은 매우 간단합니다.
예시 1: 단일 열에서 고유 값 추출
상품명 |
사과 |
바나나 |
사과 |
오렌지 |
바나나 |
B1 셀에 =UNIQUE(A:A)를 입력하면, A열의 상품명 중에서 "사과", "바나나", "오렌지"만 중복 없이 추출됩니다.
UNIQUE 함수 고급 실무 예제
이제 실제 업무에서 UNIQUE 함수를 어떻게 활용할 수 있는지 다양한 시나리오를 통해 알아보겠습니다.
예제 1: 여러 조건에 따른 고유한 조합 추출
두 개 이상의 열을 조합하여 유니크한 항목을 추출해야 할 때 UNIQUE 함수는 강력한 힘을 발휘합니다. 예를 들어, 지점과 상품명의 고유한 조합을 알고 싶을 때 사용할 수 있습니다.
지점 | 상품명 | 판매수량 |
강남 | 사과 | 100 |
강북 | 바나나 | 150 |
강남 | 사과 | 50 |
강서 | 오렌지 | 200 |
강북 | 바나나 | 120 |
강남 | 배 | 80 |
수식:
E1 셀에 다음과 같이 입력합니다.
=UNIQUE(A2:B7)
결과:
지점 | 상품명 |
강남 | 사과 |
강북 | 바나나 |
강서 | 오렌지 |
강남 | 배 |
이렇게 하면 강남-사과, 강북-바나나 등 지점과 상품명의 고유한 조합만을 추출할 수 있습니다. by_col 인수를 생략했으므로 행을 기준으로 조합을 판단합니다.
예제 2: 특정 조건 만족하는 고유 값 추출 (FILTER 함수와 조합)
UNIQUE 함수는 FILTER 함수와 함께 사용할 때 더욱 빛을 발합니다. 특정 조건을 만족하는 데이터에서 고유 값을 추출할 때 유용합니다.
시나리오: 판매수량이 100 이상인 상품들 중에서 고유한 상품명만 추출하고 싶습니다.
수식:
=UNIQUE(FILTER(B2:B7, C2:C7>=100))
설명:
FILTER(B2:B7, C2:C7>=100): 먼저 C2:C7 범위에서 값이 100 이상인 행의 B2:B7 (상품명)만 필터링합니다.
이 결과는 {"사과";"바나나";"오렌지";"바나나"} 와 같은 배열이 됩니다.
UNIQUE(...): 필터링된 배열에서 고유한 상품명("사과", "바나나", "오렌지")만 추출합니다.
결과:
상품명 |
사과 |
바나나 |
오렌지 |
예제 3: 고유 항목별 개수 세기 (COUNTIF 함수와 조합)
UNIQUE 함수로 고유한 목록을 얻은 후, 각 고유 항목이 원본 데이터에 몇 번 나타나는지 세고 싶을 때 COUNTIF 함수와 조합할 수 있습니다.
시나리오: 각 지점별로 판매 건수가 몇 건인지 알고 싶습니다.
수식:
E1 셀에 =UNIQUE(A2:A7)를 입력하여 고유 지점 목록을 얻습니다. (예: 강남, 강북, 강서)
F1 셀에 다음과 같이 입력하고 아래로 자동 채우기 합니다.
=COUNTIF(A:A,E1#)
설명:
E1#: E1 뒤에 #을 붙이면 E1 셀에 의해 반환된 동적 배열 전체를 참조하게 됩니다. 즉, "강남", "강북", "강서" 각각에 대해 COUNTIF 함수를 실행합니다.
COUNTIF(A:A, ...): A열 전체에서 E1# 배열의 각 지점명과 일치하는 셀의 개수를 셉니다.
결과:
지점 | 개수 |
강남 | 3 |
강북 | 2 |
강서 | 1 |
예제 4: 여러 시트에서 고유 값 통합 추출 (VSTACK 또는 CHOOSE/INDIRECT와 조합)
실무에서는 데이터가 여러 시트에 분산되어 있는 경우가 많습니다. 이때 UNIQUE 함수는 VSTACK 함수와 함께 사용하여 여러 시트의 데이터를 통합하고 고유 값을 추출하는 데 활용될 수 있습니다.
시나리오: Sheet1과 Sheet2에 각각 다른 상품 목록이 있을 때, 전체 상품 목록에서 고유한 상품명만 추출하고 싶습니다.
Sheet1 상품명 데이터 (A1:A3): 사과, 바나나, 오렌지
Sheet2 상품명 데이터 (A1:A3): 바나나, 포도, 사과
수식:
=UNIQUE(VSTACK(Sheet1!A:A, Sheet2!A:A))
설명:
VSTACK(Sheet1!A:A, Sheet2!A:A): Sheet1의 A열과 Sheet2의 A열 데이터를 수직으로 쌓아 하나의 배열로 만듭니다. (결과: {"사과";"바나나";"오렌지";"바나나";"포도";"사과"})
UNIQUE(...): 통합된 배열에서 중복을 제거하고 고유한 상품명("사과", "바나나", "오렌지", "포도")만 추출합니다.
결과:
상품명 |
사과 |
바나나 |
오렌지 |
포도 |
엑셀의 UNIQUE 함수는 단순한 중복 제거를 넘어, FILTER, COUNTIF, VSTACK 등 다른 함수들과의 조합을 통해 복잡한 데이터 분석 작업을 놀랍도록 간단하게 처리할 수 있게 해주는 강력한 도구입니다.
오늘 소개드린 고급 실무 예제들을 통해 여러분의 엑셀 데이터 분석 능력이 한층 더 향상되기를 바랍니다.