나만의공간

📘 엑셀 고급 강의 6‑3. 동적 배열 수식 고급 응용 및 함수 결합 사례 본문

Excel/고급

📘 엑셀 고급 강의 6‑3. 동적 배열 수식 고급 응용 및 함수 결합 사례

밥알이 2025. 8. 14. 08:05

이번 소주제에서는 **동적 배열 수식**을 다른 함수들과 결합하여 실무에서 강력하게 활용할 수 있는 고급 응용 사례들을 다룹니다. 보기에는 복잡해 보여도, 수식 논리 흐름만 숙지하면 쉽게 구현할 수 있어요. 다양한 조건 처리, 배열 결과를 정렬∙그룹화∙분석하는 고급 활용법을 단계별로 살펴보겠습니다.


1. FILTER + SORTBY – 다중기준 정렬 예제

서울 지역 고객 중 매출 ≥ 150,000인 목록에서
“매출 내림차순” 후 “고객명 오름차순” 정렬:

=SORTBY(
  FILTER(A2:D100, (B2:B100="서울")*(C2:C100>=150000), "조건 없음"),
  C2:C100, -1,
  A2:A100, 1
)
  • ① 서울 고객 & 고매출 조건 필터링
  • ② SORTBY를 통해 매출 내림차순 → 고객명 오름차순 정렬
  • 복잡한 기준 정렬이 수식 한 줄로 처리됩니다.

2. UNIQUE + FILTER + COUNTIF – 방문 고객 분석

특정 상품을 구매한 고객이 몇 번 구매했는지 개수 기반 분석:

=LET(
  고객목록, UNIQUE(FILTER(A2:A200, D2:D200="상품A", "")),
  COUNT_LIST, COUNTIF(A2:A200, 고객목록),
  HSTACK(고객목록, COUNT_LIST)
)
  • ⦿ LET 함수로 `고객목록` 배열 선언
  • ⦿ COUNTIF로 각 고객의 구매 횟수 계산
  • ⦿ HSTACK으로 고객명 및 구매 횟수를 한 행에 표시

3. XLOOKUP + FILTER 조합 – 동적 요약 테이블 구축

사용자가 특정 고객 코드 입력 시
해당 고객이 구매한 상품과 매출 내역 자동 조회:

=FILTER(
  TableSales,
  TableSales[고객코드]=XLOOKUP(F2, TableCustomer[코드], TableCustomer[코드]),
  "데이터 없음"
)
  • F2 셀: 사용자 입력 고객코드
  • 고객 테이블에서 XLOOKUP으로 코드 확인 후, 판매 기록 테이블 필터링

4. SORT + UNIQUE + FILTER + XLOOKUP 실제 통합 예

서울지역 고매출 고객 목록에서,
고객명, 등급, 총매출을 정렬된 형태로 추출:

=SORT(
  UNIQUE(
    FILTER(
      HSTACK(TableSales[고객명], TableSales[고객코드], TableSales[매출]),
      (TableSales[지역]="서울")*(TableSales[매출]>=150000),
      ""
    )
  ),
  3, -1
)
  • ① FILTER로 조건부 데이터 추출
  • ② HSTACK으로 여러 열 묶어 배열 구성
  • ③ UNIQUE로 고객코드별 고유 목록 생성
  • ④ SORT로 매출 기준 정렬된 요약 테이블 완성

5. 실무 팁 & 퍼포먼스 고려사항

  • 가능한 한 테이블 구조로 관리 → 동적 범위 자동 업데이트
  • LET 함수 사용 시 표현식 간 가독성 향상
  • HSTACK, VSTACK 함수로 배열 병합을 효율적으로 처리
  • 계산량이 많은 수식은 전체 시트 성능에 영향 줄 수 있으므로 최소 범위 설정

6. 요약 정리

  • ✅ 동적 배열 기반 함수 조합으로 복잡한 보고서도 수식 단 한 줄로 구현
  • ✅ 다중 정렬, 그룹화, 조건 요약 등이 모두 가능
  • ✅ LET, HSTACK, XLOOKUP 등 최신 함수와 조합해 자동화 시트 구성 효율 확대
Comments