이 강의는 아래 동영상 강의 내용과 보완 관계에 있습니다. 동영상과 함께 보시면 학습효과가 높아집니다. 멤버십 회원에게는 예제 파일을 보내드립니다.
완성 예
다양한 이유로 '여러 항목들 중에서 중복되지 않는 고유한 값을 추출'해야 하는 경우가 흔히 있습니다. 엑셀에는 이런 용도로 사용할 수 있는 다양한 방법이 준비되어 있습니다.
![로딩 중...](./images/01.png)
완성 예
중복된 항목을 제거하는 여러 가지 방법들을 정리해 보겠습니다. 함수/수식을 이용하는 방법 2가지와 엑셀의 기본 기능을 이용하는 방법 2가지에 대해 소개합니다.
방법 1: UNIQUE 함수 사용
Microsoft 365를 사용한다면 매우 간단하게 해결할 수 있습니다.
![로딩 중...](./images/02.png)
D4 셀의 수식을 아래로 복사할 필요도 없이 엑셀이 알아서 자동으로 배열 형태로 처리해줍니다. 수식을 지우거나 변경할 때에도 원래 수식을 작성했던 E4 셀에서 처리하면 됩니다.
이 상태에서 정렬을 할 수도 있습니다. SORT 함수를 중첩 사용하면 간단히 처리됩니다.
![로딩 중...](./images/03.png)
고유한 값 추출과 정렬을 동시에 처리
간단하고 좋긴 한데, Unique와 Sort는 둘 다 Microsoft 365 버전에서만 사용할 수 있습니다(웹 버전도 가능). 다른 버전을 사용하고 있다면 어떻게 해야 할까요?
방법 2: 배열 수식 사용
Microsoft 365 버전이 아니라면, 몇 가지 엑셀 기본 함수를 조합하여 배열 수식으로 만들면 됩니다. 아무래도 앞의 경우보다는 수식이 길고 복잡하니까 마음의 준비(?)와 함께 잠시 심호흡을 하세요.ㅎㅎ
E4 셀을 선택하고 다음 수식을 작성한 다음, Ctrl + Shift + Enter 키를 누릅니다. 수식 좌우의 중괄호 { }는 손으로 직접 입력하는 것이 아니라 Ctrl + Shift + Enter를 누르면 자동으로 생깁니다.
![로딩 중...](./images/04.png)
길고 복잡한 수식은 안쪽부터 해석하면 이해하기 쉽습니다.
-
E4 셀의 수식에서 COUNTIF($E$3:E3,$B$4:$B$33) 부분을 범위로 지정하고 F9 키를 누르면 지정 범위가 중간 계산됩니다.$E$3:E3 영역에는 $E$3:E3,$B$4:$B$33 배열과 일치하는 값이 하나도 없으므로 모두 0으로 표시됩니다.
-
수식 선택 범위를 한 단계 확장합니다. 'MATCH(0,{0;0;0;0;0;0;...},0)' 부분을 해석해 보죠. 0을 배열에서 찾되, 정확히 일치하는 값을 찾습니다. 만약 같은 값이 여러 개 있다면 Match 함수는 첫 번째로 나온 값의 위치를 구합니다. F9 키를 이용하여 중간 계산을 해 보면 결과는 그림과 같이 나타납니다.
- B4:B33 영역에서 첫 번째 셀 값(여기서는 'say')을 표시합니다.
- E5, E6 셀로 가서 위 과정을 몇 차례 반복해 보면 개념을 파악할 수 있으리라 생각합니다. Countif 함수의 range 인수를 지정할 때 E3 셀부터 범위로 지정한 점에 유의하시기 바랍니다.
- 참고로, F9 키를 이용하면 지정한 영역을 중간 계산할 수 있습니다. 직전 상태로 되돌아가려면 Ctrl + Z 키(또는 Esc)를 누르면 됩니다
![로딩 중...](./images/06.png)
추출할 항목 수를 벗어난 영역으로 수식을 복사하면 '#N/A(Not Available)' 오류가 발생합니다. Iferror 함수를 추가하여 해결할 수 있습니다(이것도 배열 수식).
방법 3: [중복된 항목 제거] 기능 이용
중복 데이터를 제거할 영역(B4:B33)을 H4 셀로 복사합니다. 범위를 지정한 상태에서 [데이터] 탭 - [데이터 도구] 그룹 - [중복된 항목 제거] 명령을 선택합니다.
![로딩 중...](./images/07.png)
대화상자에서 [현재 선택 영역으로 [정렬] 항목을 선택하고 [중복된 항목 제거] 버튼을 클릭합니다.
![로딩 중...](./images/08.png)
[중복 값 제거] 대화상자에서 [확인] 버튼을 클릭하면 중복값이 제거된 결과가 표시됩니다.
![로딩 중...](./images/09.png)
방법 4: [고급 필터] 이용
[중복된 항목 제거] 기능은 엑셀 2007 버전부터 지원됩니다. 만약 이 기능을 사용할 수 없는 상황이라면 [고급 필터]를 이용할 수도 있습니다.
B4:B33 영역을 범위로 지정하고 [데이터] 탭 - [정렬 및 필터] 그룹 - [고급] 명령을 선택합니다.
[고급 필터] 대화상자가 나타나면 그림과 같이 지정합니다. [동일한 레코드는 하나만] 항목에 체크하는 것을 잊지 마시기 바랍니다.
![로딩 중...](./images/10.png)
[확인] 버튼을 클릭하면 결과가 표시됩니다.
이렇게 해서 함수나 수식을 이용하는 방법 2가지와 엑셀 기본 기능을 이용하는 2가지 방법에 대해 살펴보았습니다. VBA로 해결할 수도 있습니다. VBA를 이용하면 좀 더 다양하고 복잡한 상황에서도 유연하게 대처할 수 있습니다. 이 방법은 별도 강의에서 소개하겠습니다.
시작부터 요란했던 여름이 지나가고 있습니다. 영국 비평가 존 러스킨의 말로 글을 맺습니다.
"세상에 나쁜 날씨란 없다. 서로 다른 종류의 좋은 날씨가 있을 따름이다."
#중복항목제거 #UNIQUE #SORT #배열수식 #고급필터