14편: 동적 배열 함수의 기초, SORT, UNIQUE 함수로 실시간 명단 추출하기

 메인 키워드: 엑셀 SORT UNIQUE

보조 키워드: 동적 배열 함수, 엑셀 중복 제거, UNIQUE 함수, SORT 함수, 실시간 명단 추출

검색 의도: 원본 데이터가 변경될 때마다 매번 수동으로 중복을 제거하고 정렬할 필요 없이, 동적 배열 함수를 활용해 실시간으로 정돈된 고유 명단을 추출하는 현대적 엑셀 실무 기술 가이드.

실무에서 대용량 데이터를 다루다 보면, 원본 로우 데이터(Raw Data)에서 중복된 항목을 제외한 '고유한 명단'만 따로 뽑아내야 하는 일이 자주 생깁니다. 예를 들어 전국 판매 데이터에서 "이번 달에 한 번이라도 주문한 거래처 목록"을 가나다순으로 정리하거나, 인사 명단에서 "현재 우리 회사에 존재하는 부서 종류"를 깔끔하게 추출해야 하는 상황입니다.

과거에는 이를 위해 [데이터] 탭의 [중복된 항목 제거] 버튼을 매번 수동으로 누르거나, 복잡한 배열 수식을 써야 했습니다. 하지만 이 수동 방식의 치명적인 단점은 '원본 데이터가 바뀌면 결과가 자동으로 갱신되지 않는다'는 점입니다. 내일 새로운 거래처가 추가되면, 또다시 중복 제거 버튼을 누르고 정렬을 새로 해야 하죠.

만약 여러분이 엑셀 2021 버전이나 Microsoft 365 버전을 사용하고 있다면, 이제 단 한 줄의 함수로 원본이 바뀔 때마다 실시간으로 알아서 중복이 제거되고 정렬까지 끝나는 완벽한 동적 명단을 만들 수 있습니다. 데이터 가공의 패러다임을 바꾼 UNIQUE 함수와 SORT 함수의 조합을 소개합니다.

[원리 이해] 데이터가 알아서 흘러넘치는 '동적 배열(Dynamic Array)'과 '#'의 개념

최신 엑셀에는 '동적 배열'이라는 혁신적인 개념이 도입되었습니다. 과거의 함수는 셀 한 칸에 하나의 결과만 냈지만, 동적 배열 함수는 수식을 단 한 칸에만 입력해도 결과값의 개수에 맞춰 아래로 데이터가 알아서 쫙 펼쳐집니다. 이렇게 수식 결과가 주변 셀로 흘러넘치는 현상을 '스필(Spill)'이라고 부릅니다.

이때 기억해야 할 실무 치트키 기호가 바로 해시태그(#)입니다. 동적 배열 함수가 입력된 첫 셀의 주소가 E2이고 그 아래로 결과가 펼쳐져 있다면, 다른 수식에서 이 전체 범위를 인용할 때 E2:E10이라고 적을 필요 없이 단지 =E2#이라고만 적으면 됩니다. 데이터가 10개가 되든 100개가 되든 엑셀이 자동으로 그 변화하는 전체 범위를 끝까지 추적해 줍니다.

[1단계] 복잡한 클릭은 그만, UNIQUE 함수로 고유 명단 1초 만에 뽑기

먼저 중복을 제거하는 UNIQUE 함수입니다. 수식 구조는 놀라울 정도로 직관적입니다. =UNIQUE(중복을 제거할 원본 범위)

예를 들어 B열에 '부서명'이 수백 개 가량 중복되어 무작위로 적혀있다고 가정해 봅시다. 빈 시트의 셀에 =UNIQUE(B2:B500)이라고 입력하고 엔터를 누르는 순간, 중복된 부서 이름들이 싹 제거되고 실제 존재하는 부서 종류만 아래로 깔끔하게 나열됩니다.

여기에 원본 데이터(B2:B500)에 새로운 부서가 추가되면, 내가 수식을 건드리지 않아도 이 결과 리스트에 실시간으로 새 부서명이 팝업처럼 뚝 떨어지며 확장됩니다.

[2단계] 추출과 동시에 가나다순 정렬까지, SORT 함수 중첩하기

UNIQUE 함수만 쓰면 고유 명단이 추출되기는 하지만, 원본 데이터에 등장한 순서대로 나오기 때문에 정렬이 되어 있지 않아 가독성이 떨어집니다. 보고서에 올리기 좋게 가나다순(오름차순)이나 높은 금액순(내림차순)으로 정렬하려면 SORT 함수를 바깥에 한 번 더 감싸주면 됩니다.

=SORT(정렬할 범위, [정렬할 열 번호], [정렬 방식])

방금 만든 UNIQUE 수식 겉에 SORT를 수식으로 조립해 보겠습니다.

  • 실무 수식: =SORT(UNIQUE(B2:B500))

이렇게 작성하면 엑셀은 내부적으로 "B열에서 중복을 먼저 다 제거한 뒤(UNIQUE), 그 최종 결과물을 가나다 오름차순으로 예쁘게 정렬(SORT)해서 화면에 뿌려라"라는 명령을 완벽하게 수행합니다.

주의해야 할 돌발 상황: #SPILL! 에러 대처법

동적 배열 함수를 쓸 때 초보 직장인들이 가장 많이 당황하는 순간이 있습니다. 셀에 결괏값 대신 #SPILL!이라는 낯선 에러 메시지가 뜰 때입니다.

이 에러의 의미는 매우 단순합니다. "수식 결과가 아래로 쫙 펼쳐져야 하는데, 누군가 그 자리를 가로막고 서 있다"는 뜻입니다.

예를 들어 수식이 입력된 셀 아래쪽 공간에 내가 과거에 적어두었던 자잘한 텍스트나 숫자, 혹은 빈 공백(Space)이라도 들어가 있으면 엑셀은 기존 데이터를 보호하기 위해 에러를 뿜어냅니다. 해결 방법은 간단합니다. 수식 셀 아래쪽 공간을 마우스로 드래그하여 지우개(Delete)로 깨끗하게 비워주면, 가로막고 있던 장애물이 사라지면서 데이터가 폭포수처럼 다시 정상적으로 흘러넘치게 됩니다.

수동 노동에서 해방되어 실시간 대시보드 구축하기

엑셀의 발전 방향은 명확합니다. 사용자가 '매번 똑같은 버튼을 누르는 수고'를 없애주는 것입니다. 오늘 배운 SORT와 UNIQUE 함수의 조합은 실시간으로 연동되는 자동화 대시보드나 요약 리포트를 만들 때 없어서는 안 될 핵심 주춧돌입니다.

지금 회사에서 매주 수동으로 고유 명단을 추출해 정렬하고 있던 업무가 있다면, 그 파일의 요약 페이지를 열고 이 두 함수의 조합을 심어두세요. 원본 데이터를 붙여넣기만 하면 요약 명단이 실시간으로 춤추듯 변하는 현대적 엑셀의 편리함을 만끽하실 수 있을 것입니다.

14편 핵심 요약

  • 동적 배열 함수는 단 한 칸의 셀에만 수식을 입력해도 결과의 개수에 맞춰 아래로 데이터가 자동 전개(Spill)되는 특징을 가집니다.

  • =UNIQUE(범위) 함수는 지정한 범위 내에서 중복된 항목을 실시간으로 제거하여 고유한 데이터만 추출해 줍니다.

  • =SORT(UNIQUE(범위)) 형태로 두 함수를 중첩하면, 원본 변경에 맞춰 실시간으로 중복이 제거되고 가나다순으로 자동 정렬되는 동적 명단이 완성됩니다.

다음 편 예고

이제 엑셀 데이터 관리의 대장정이 막바지에 다다랐습니다. 다음 15편 시리즈의 마지막 최종장에서는, 그동안 배웠던 데이터 정돈, 함수 설계, 자동화 규칙들을 집대성하여 내가 자리를 비워도 후임자가 한눈에 알아볼 수 있고 칼퇴를 보장하는 '인수인계가 편해지는 실무 엑셀 시트 관리 및 문서화 체크리스트'로 유종의 미를 거두겠습니다.

지금 다루시는 데이터 중에서 매번 [중복된 항목 제거]를 누르거나 수동으로 정렬해야 해서 번거로웠던 영역(예: 고객사 명단, 제품 코드 등)은 무엇인가요? 오늘 배운 두 함수의 마법을 어디에 가장 먼저 적용해 보고 싶으신지 댓글로 남겨주세요!

댓글 쓰기

0 댓글

신고하기

프로필

이미지alt태그 입력