엑셀 중복값에서 고유값 개수를 구하는 방법

2023. 1. 2. 18:14 / 서기랑

 중복된 항목 제거나 고급 필터 등 엑셀에서는 중복된 값을 고유값으로 변경해주는 기능은 많이 있다.

 하지만 중복된 값이 있는 범위에서 고유값의 개수를 구할 수 기능은 없기 때문에 함수를 이용하여 수식을 만들어야 하는데 방법 자체는 어렵지 않다.

 

엑셀 중복값에서 고유값 개수 구하기

 조건에 맞는 개수를 구하는 함수는 COUNTIF이다.

 해당 함수를 사용하면 아래와 같이 중복된 값을 포함한 개수를 구할 수 있다.

값의 개수 구하기

 이제 여기서 1 나누기 COUNTIF의 결과값을 해보자.

 중복값이 3개라면 0.3333...이 될 것이며 중복값이 2개라면 0.5 등의 값이 나오는데 중복값은 중복 개수만큼 나눠지기 때문에 같은 중복값끼리 더하면 1이 되는 형태가 된다.

1을 중복값으로 나누기

 마지막으로 SUM 함수를 이용해 값을 모두 더해보자.

 선택한 범위의 고유값 개수가 나타날 것이다.

고유값 개수

 이 과정을 함수로 작성한다면 배열 수식을 작성해야 하지만 SUM 함수 대신 SUMPRODUCT 함수를 사용하게 되면 함수 자체가 배열 함수이기 일반적인 수식을 작성해도 된다.

 (COUNTIF 수식에는 둘 다 같은 범위를 지정해주면 된다.)

- SUM을 사용한 배열 수식
{=SUM(1/COUNTIF(범위,범위))}
{=SUM(1/COUNTIF(B3:B8,B3:B8))}

- SUMPRODUCT를 사용한 일반 수식
=SUMPRODUCT(1/COUNTIF(범위,범위))
=SUMPRODUCT(1/COUNTIF(B3:B8,B3:B8))

 

그 외 내용

 엑셀의 버전이 최신 버전(365 등)이라면 UNIQUE 함수와 COUNTA 함수로 위 방법보다 더 간단하게 고유값 개수를 구할 수 있다.

 다만 구 버전 엑셀에서 UNIQUE 함수는 없기 때문에 구버전에서도 사용하는 엑셀 문서라면 UNIQUE 함수보다는 위 방법을 사용하는 것을 추천한다.