FILTER · SORT · UNIQUE로 데이터 추출·정렬·중복제거 끝! (파워쿼리 없이 1분 컷)

엑셀 FILTER·SORT·UNIQUE로 조건 추출, 다중 정렬, 고유값·고유조합을 실시간으로 만들어요. AND/OR 조건, 다중 열 반환, 정렬 기준 여러 개, 정확히 한 번만(Exactly once), 상위 N 추출, 스필 오류 해결까지 실무 예제 총정리.
FILTER · SORT · UNIQUE로 데이터 추출·정렬·중복제거 끝! (파워쿼리 없이 1분 컷)

FILTER · SORT · UNIQUE로 데이터 추출·정렬·중복제거 끝! (파워쿼리 없이 1분 컷)

피벗·파워쿼리 없이도 동적배열 3형제실시간 목록·상위N·고유값을 뽑아냅니다. 보고서가 자동으로 따라오죠.

문법 & 옵션

함수형식포인트
FILTER=FILTER(array, include, [if_empty])include는 TRUE/FALSE 배열. OR는 +, AND는 *로 결합
SORT=SORT(array, [sort_index], [sort_order], [by_col])sort_order: 1 오름/ -1 내림. 열/행 기준 전환은 by_col
SORTBY=SORTBY(array, by_array1, [order1], [by_array2], [order2], ...)다른 범위를 기준으로 다중 정렬
UNIQUE=UNIQUE(array, [by_col], [exactly_once])열 기준 중복제거는 by_col=TRUE, 단일 등장값만은 exactly_once=TRUE

FILTER — 조건 추출

예제 1) 지역=Seoul AND 상태=Delivered

=FILTER(A2:E100, (B2:B100="Seoul")*(E2:E100="Delivered"), "해당 없음")

예제 2) 상품이 Keyboard 또는 Mouse

=FILTER(A2:E100, (C2:C100="Keyboard")+(C2:C100="Mouse"))

예제 3) 날짜 범위

=FILTER(A2:E100, (D2:D100>=F2)*(D2:D100<=G2), "없음")

SORT · SORTBY — 정렬

예제 4) 매출 내림차순

=SORT(B2:D100, 3, -1)

예제 5) 지역 오름 → 날짜 내림 (다중 기준)

=SORTBY(A2:E100, B2:B100, 1, D2:D100, -1)

UNIQUE — 고유값/정확히 한 번

예제 6) 고유 지역 목록

=UNIQUE(B2:B100)

예제 7) 정확히 한 번만 등장한 주문번호

=UNIQUE(A2:A100,,TRUE)

예제 8) 지역·상품 고유 조합

=UNIQUE( CHOOSECOLS(A2:E100,2,3) )

실무 패턴 9가지

① 필터 → 정렬 → 상위 N

=TAKE(SORT(FILTER(A2:E100, B2:B100="Seoul"), 5, -1), 10)

② 월별 고유 고객 수

=COUNTA(UNIQUE(FILTER(Customer, (Date>=EOMONTH(F2,-1)+1)*(Date<=EOMONTH(F2,0)))))

③ 중복 제거 후 합계(스필 참조)

=LET(u, UNIQUE(A2:A100), BYROW(u, LAMBDA(r, SUMIF(A2:A100, r, C2:C100))))

④ 검색어 포함 실시간 목록

=FILTER(A2:A100, ISNUMBER(SEARCH($H$2, A2:A100)))

⑤ 열 기준 정렬(by_col)

=SORT(A1:G5,,,-1)   // 행이 아니라 '열'을 기준으로

⑥ 정확히 한 번만 등장한 고객 목록 + 정렬

=SORT(UNIQUE(A2:A100,,TRUE))

⑦ 조건부 고유 조합(서울의 상품 조합)

=UNIQUE(FILTER( HSTACK(Region, Product), Region="Seoul" ))

⑧ 상위 N%만 남기기

=LET(s, SORT(A2:C100,3,-1), TAKE(s, ROUNDUP(ROWS(s)*0.2,0)))

⑨ XLOOKUP과 연결(고유 고객 → 상세)

=XLOOKUP(UNIQUE(Customer), Customer, HSTACK(Address, Phone))

스필/성능/예외 처리

  • #SPILL! → 스필 영역 비우기, 표 내부가 아니어야 함.
  • 빈 결과 → FILTER의 if_empty로 사용자 메시지 제공.
  • 대소문자 → SEARCH/LAMBDA로 통일(UPPER/LOWER) 후 비교.
  • 성능 → 동일 계산은 LET으로 캐시, 전체열 참조 대신 테이블 사용.

요약

목표대표 공식
조건 추출FILTER(범위, 조건, "없음")
다중 정렬SORTBY(범위, 기준1,순서1, 기준2,순서2)
고유값/정확히 한 번UNIQUE(범위,,TRUE/FALSE)
상위 NTAKE(SORT(FILTER(...),열,-1), N)

FAQ

피벗과 무엇이 다른가요?

피벗은 요약표, 동적배열은 셀 수식로 실시간 목록/정렬/고유값을 만듭니다. 보고서 내 임베드·파이프라인에 적합합니다.

정렬 기준을 여러 개 적용하려면?

SORTBY를 사용해 기준/순서를 차례대로 나열하세요.

지금 시트에서 FILTER → SORT → TAKE 조합으로 “서울 상위 10건”을 바로 만들어 보세요. 보고서가 자동으로 갱신됩니다.

Leave a Reply

Your email address will not be published. Required fields are marked *