엑셀 다루기

[엑셀 함수] FILTER, SORT, UNIQUE 사용법 – 수식 하나로 자동 추출·정렬·중복 제거 (동적 배열)

남익 2026. 10. 13. 00:42
반응형

환경 : Microsoft 365 / Excel 2021 이상

고급 필터(123번 글)는 원본이 바뀔 때마다 다시 실행해야 했습니다. Microsoft 365의 FILTER, SORT, UNIQUE는 수식 하나로 추출·정렬·중복 제거를 하고, 원본이 바뀌면 결과도 자동으로 바뀝니다.

1. 먼저 알아둘 점 : 스필(분산)

이 함수들은 결과가 여러 칸입니다. 첫 칸에만 수식을 입력하면 아래·옆으로 결과가 자동으로 펼쳐지며, 이를 스필이라고 합니다. 펼쳐진 범위는 F2#처럼 첫 셀 뒤에 #을 붙여 다른 수식에서 참조할 수 있습니다.

2. 예제 데이터 (가계부 사용내역)

ABCD
1일시금액구분카테고리
22026-10-0112,000생활비식비
32026-10-0245,000내용돈쇼핑
42026-10-038,500생활비교통
52026-10-0532,000생활비식비
62026-10-0715,000내용돈개인용도

실제로는 A2:D100처럼 넉넉하게 범위를 잡아 두면 내역이 늘어나도 자동으로 포함됩니다.

예제 ① FILTER : 조건에 맞는 행만

=FILTER(A2:D100, D2:D100 = "식비", "내역 없음")

카테고리가 식비인 행만 추출합니다. 세 번째 인수는 결과가 없을 때 표시할 값입니다.

AND : =FILTER(A2:D100, (C2:C100 = "생활비") * (B2:B100 >= 10000))
OR : =FILTER(A2:D100, (D2:D100 = "식비") + (D2:D100 = "교통"))

조건끼리 *는 '그리고', +는 '또는'입니다. 각 조건은 괄호로 감쌉니다.

[캡처 : FILTER 결과]

예제 ② SORT : 정렬

=SORT(A2:D100, 2, -1)

2번째 열(금액) 기준 내림차순(-1)으로 정렬합니다. 오름차순은 1입니다. 정렬 기준 열이 결과에 없어도 되면 SORTBY를 씁니다. 예 : =SORTBY(D2:D100, B2:B100, -1)

예제 ③ UNIQUE : 중복 제거

=SORT(UNIQUE(D2:D100))

카테고리 목록을 중복 없이, 가나다순으로 뽑습니다. 빈 칸이 섞여 있으면 결과에 0이 하나 생기니 범위를 FILTER로 먼저 걸러 주세요. 예 : =SORT(UNIQUE(FILTER(D2:D100, D2:D100 <> "")))

예제 ④ 조합 : 카테고리별 자동 합계표

F2에 예제 ③의 수식을 넣고, G2에 아래 수식을 넣으면 카테고리가 늘어날 때마다 합계표가 자동으로 길어집니다.

=SUMIFS(B2:B100, D2:D100, F2#)

나만의 가계부(119번 글)의 카테고리별 합계·내역 시트를 손으로 만들 필요 없이 이 두 수식으로 대신할 수 있습니다.

[캡처 : 카테고리별 자동 합계표]

예제 ⑤ 금액 큰 순 TOP 3

=TAKE(SORT(A2:D100, 2, -1), 3)

정렬 결과에서 위 3행만 가져옵니다. (TAKE는 Microsoft 365 전용)

3. 주의사항

1. 결과가 펼쳐질 자리에 값이 있으면 #SPILL! 오류가 납니다. 아래·오른쪽을 비워 두세요.

2. 펼쳐진 결과의 일부만 지우거나 고칠 수 없습니다. 첫 셀의 수식을 고치세요.

3. Excel 2019 이하에서 파일을 열면 #NAME? 또는 고정된 값으로 보입니다. 공유 대상의 버전을 확인하세요.

4. 범위를 A:D처럼 열 전체로 잡으면 느려질 수 있으니 A2:D1000처럼 적당히 넉넉한 범위를 쓰세요.

반응형