반응형

수 많은 중복 데이터 중에 고유 값의 개수를 세는 방법은 아래 글에 알아낼 수 있습니다.

 

엑셀 중복값 찾기 countif 함수 사용 추출

세상에 나랑 똑같이 생긴 사람!! 도플갱어를 보면 죽는 다는 속설이 있습니다. 물론 과학적으로는 있을 수 없는 이야기지만 영화나 만화의 소재로 자주 쓰입니다. 엑셀에서도 중복 데이터는 죽

annihill.tistory.com

그렇다면 그 고유값들만 추출하여 표시하게 하려면 어떻게 해야할까요?

아래의 왼쪽 표는 독일제 자동차 제작사(Benz, Porsche, BMW, Audi)의 차명별로 중고차를 분류한 표인데 오른쪽 표에 함수를 사용하여 제작사별로 차명을 한셀에 다시 입력하였습니다.

오른쪽 표의 빨간색 박스의 제작사를 직접 찾아서 적지 않고 엑셀기능과 함수를 이용하는 방법에 대해 알아 보겠습니다.

엑셀 중복값 중에 고유값만 추출하기

엑셀 함수를 이용

엑셀에서 제공하는 함수를 조합하는 방법으로 각각 함수의 사용법은 Excel tips 카테고리에서 더 알아 볼 수 있습니다. 

- Lookup, Countif  함수 이용

위와 같이 준비가 되어 있는 상태에서 D4셀에 아래와 같이 입력합니다. 

	=LOOKUP(2,1/(COUNTIF($D$3:D3,$A$3:$A$23)=0),$A$3:$A$23)

COUNTIF 함수의 Range인수는 끌어서 채우기를 할 때 동적으로 범위가 확장되게 하기 위해 $D$3:D3과 같이 앞부분은 절대참조 뒷부분은 상대참조 형식을 취해 줍니다.

수식을 입력 후 끌어서 채우기를 해주다보면 #N/A 값이 나오는데 더이상의 고유값이 없기 때문입니다. 이셀을 삭제해주면 중복값 중에 고유값만이 추출 됩니다. 
이 방법은 함수를 두개 밖에 사용하지 않지만 한가지 단점이 원래의 중복범위 값에서 역순으로 배열이 됩니다. 따라서 원래의 순서대로 해 줄 필요가 있다면 정렬을 다시 해주어야 합니다. 

- Index, Match, Countif 함수 이용

위와 같이 준비가 되어 있는 상태에서 D12셀에 아래와 같이 입력해 줍니다.

	=INDEX($A$3:$A$23,MATCH(0,COUNTIF($D$11:D11,$A$3:$A$23),0))

이후의 방법은 앞의 방법과 똑같이 하면 됩니다.

 

엑셀 고급필터 기능을 이용

위의 함수를 이용하는 방법에서 각각 인수에 대해서 제대로 설명을 안했는데 일하기 바쁜데 언제 원리 이해해서 함수수식을 입력하고 앉아 있겠습니까. 빨리빨리 하고 퇴근해야죠. 
엑셀에서는 함수를 사용하지 않고 직관적으로 중복값에서 고유값만을 추출하도록 기능을 제공하고 있습니다.

바로 고급필터 기능입니다.

메뉴에서 [데이터] -> [정렬 및 필터] -> [고급]을 차례로 선택하여 고급 필터 창을 열어
다른 장소에 복사(O)를 선택하여 목록 범위(L)를 앞의 함수에서 범위와 다르게 $A$2:$A$23를 입력하고 복사 위치(T) 또한 D19셀을 지정하여 아래에 동일한 레코드는 하나만(R)을 체크하고 확인을 하면 고유값만을 얻을 수가 있습니다.

고급필터를 사용할 때는 항목들의 대표값(위의 경우에는 A2셀의 제작사)까지 범위에 포함시켜줘야 합니다.

고급필터 기능을 이용하면 손쉽게 중복값 중에 고유값을 추출해 낼 수 있지만 한가지 단점이 있는데 필터기능 사용하기 전의 상태로 돌아가기 위해 Ctrl + Z를 사용할 수 없기 때문에 주의가 필요합니다. 

반응형