엑셀의 UNIQUE함수는 유일한 결과를 구해주는 함수인데 정확히는 두 가지 기능을 가지고 있습니다.
중복을 제거한 결과를 구해주는 기능과 목록에서 한 번만 입력된 값을 구해주는 기능이 있습니다.
* 엑셀 2021 이상 버전에서는 데이터 메뉴에서 제공하던 기능을 다음과 같이 함수로 제공합니다.
구문(Syntax)
=UNIQUE(array,[by_col],[exactly_once])
=UNIQUE(배열 또는 범위, [비교기준], [한번만 입력여부])
범위에서 중복을 제거한 결과 또는 한번만 입력된 값(유일한 값)을 구해줍니다.
인수
- array : 데이터가 입력된 셀 또는 범위
- by_col : 값 비교 기준(생략 가능)
– TRUE : 열기준으로 비교
– FALSE : 행기준으로 비교(생략 시 기본값으로 선택됨) - exactly_once : 정확히 한 번만 입력 여부(생략 가능)
– TRUE : 한 번만 입력되었는지 체크
– FALSE : 한 번만 입력되었는지 체크하지 않음(생략 시 기본값으로 선택됨)
사용 예
1) 이름에서 중복을 제거
[B6:E16] 범위에는 누군가의 실수로 직원 명단이 중복으로 입력되어 있습니다.이름 기준으로 중복을 제거해 보겠습니다.
[E6] 셀에 다음 수식을 입력합니다.=UNIQUE(B6:B16)
다음과 같이 [E6:E11] 범위에 결과가 한번에 반환됩니다.
2) 이름+사번에서 중복을 제거
위의 예에서는 동명이인을 고려하지 않고 이름 기준으로 중복을 제거했는데, 실무에서는 동명이인이 있을 수 있으므로 중복을 제거할 때 이름과 사번 기준으로 중복이 있는지 확인해야 합니다.
[G6] 셀에 다음 수식을 입력하면 결과가 동적배열로 반환됩니다.=SORT(UNIQUE(B6:C16))
UNIQUE함수의 결과를 SORT함수가 받아서 정렬해주는 수식입니다. 이 방식은 실무에서 많이 사용하는 방식입니다. 결과 값이 정렬되므로 내용을 쉽게 파악할 수 있는 장점이 있습니다.
※ SORT 함수에 대해서는 다음 링크를 참고하세요.
[SORT - 범위 또는 배열의 내용을 정렬하기]
3) 년2회 참석필수 교육을 한 번만 참석한 직원 찾기
이번에는 UNIQUE함수의 두 번째 기능인 '한번만 입력된 값(유일한 값)을 구해주는 기능'을 알아 보겠습니다.
어떤 회사에서 '정보보안 기초' 교육 과정은 상반기, 하반기로 나누어 년 2회 교육을 받아야 하는데 한 번만 참석한 직원이 있습니다.
필수교육 참석현황 자료에서 한 번만 참석한 직원을 찾아 보겠습니다.
[G6] 셀에 다음 수식을 입력하면 결과가 동적배열로 반환됩니다.=UNIQUE(D22:E30,FALSE,TRUE)
- 첫번째 인수 [D22:E30] 범위에는 이름과 사번이 입력되어 있습니다. 이름과 사번이 한번만 입력된 직원(즉, 교육에 한번만 참석한 직원)을 찾는 다는 뜻입니다.
- 두번째 인수는 다른 행들과 비교하여 유일한지 판단하겠다는 뜻이므로 FALSE가 입력되어야 합니다.
- 세번째 인수는 정확히 한번만 입력되었는지 여부를 말하므로 TRUE가 입력되어야 합니다.
※ UNIQUE 함수 사용 시 주의
결과를 가져올 범위에 이미 다른 값이 존재한다면 결과를 가지오지 못하고 다음과 같이 #SPILL! 오류가 발생합니다. 동적배열 형태로 결과를 가져올 때는 가져올 범위가 비어 있어야 합니다.
관련 글