[엑셀 함수] XLOOKUP + FILTER 실무 완전 정복

2026. 2. 9. 00:08MS Office

반응형

조건별 데이터 자동 추출로 보고서 자동화하기

엑셀로 보고서를 만들다 보면 이런 순간이 꼭 옵니다.

  • 조건에 맞는 데이터만 따로 뽑아야 할 때
  • 필터를 걸고 → 복사하고 → 붙여넣는 작업
  • 조건이 바뀔 때마다 다시 처음부터 반복

엑셀을 쓰고 있지만,
보고서는 여전히 ‘수작업’에 가까운 상태입니다.

 

 

이번 5화에서는
XLOOKUP + FILTER 조합으로
조건에 맞는 데이터를 자동으로 추출
하는 구조를 다룹니다.

이 조합을 쓰기 시작하면
엑셀은 더 이상
“찾아서 정리하는 도구”가 아니라
👉 조건만 바꾸면 결과가 바뀌는 자동 보고서가 됩니다.

 

 

왜 FILTER가 필요한가?

앞선 화들에서 우리는 이렇게 왔습니다.

  • 1화 : XLOOKUP으로 기준 잡기
  • 2화 : IFERROR로 보고서 안정화
  • 3화 : SUMIFS로 실적 집계
  • 4화 : 코드 해석 (LEFT / MID / RIGHT)

하지만 여기까지는
👉 ‘숫자’와 ‘값’ 중심이었습니다.

 

실무에서는 그 다음 단계가 필요합니다.

✔ “이 조건에 해당하는 행 전체를 보고 싶다”
✔ “보고서용 데이터만 따로 뽑고 싶다”

이때 필요한 함수가 바로 FILTER입니다.

 

 

실무에서 FILTER가 필요한 진짜 이유

대부분 이런 방식으로 작업합니다.

❌ Before

  • 자동 필터 설정
  • 조건 선택
  • 결과 복사 → 다른 시트에 붙여넣기
  • 조건 바뀌면 다시 반복

문제는,

  • 사람이 개입됨
  • 실수 발생
  • 자동화 불가

👉 FILTER는 이 과정을 수식 하나로 대체합니다.

 


 

실무 시나리오 예시

다음 상황을 가정해 보겠습니다.

 

✔ 고객 정보 Sheet

  • Customer ID
  • Manager

 

✔ 주문 데이터 Sheet

  • Order Date
  • Customer ID
  • Region
  • Amount

 

✔ 보고서 Sheet

  • 특정 담당자
  • 특정 월
  • 해당 조건의 주문 목록 자동 추출

 

Step 1. FILTER 기본 구조 이해하기

FILTER 함수는 구조가 아주 명확합니다.

👉 조건이 TRUE인 행만 그대로 가져온다

 

1. 조건 없이 주문 데이터 Sheet 전체 데이터 확인

=FILTER(Order!A:D,Order!B:B<>"")

 

  • 데이터가 있는 행만 그대로 가져옵니다.
  • FILTER가 “행 단위 함수”라는 걸 확인하는 용도

2. 조건 없이 주문 데이터 Sheet 필요한 데이터 확인

=FILTER(Order!B:D,Order!B:B<>"")

 

 

Step 2. 단일 조건 데이터 추출

가장 기본적인 형태부터 봅니다.

  • 조건 : Customer ID = “C004”

FILTER는
해당 조건을 만족하는 행 전체를 자동으로 반환합니다.

=FILTER(Order!A:D,Order!B:B="C004")

👉 이 순간부터 복사 / 붙여넣기 작업은 필요 없습니다.

 

Step 3. 다중 조건 FILTER (실무 핵심)

실무에서는 조건이 하나일 리 없습니다.

예 :

  • Customer ID = C002
  • Region = North

FILTER에서는
조건을 곱(*)으로 연결합니다.

📌 개념적으로는 이렇게 동작합니다.

  • 조건1 TRUE
  • 조건2 TRUE
    → 모두 만족하는 행만 반환

=FILTER(Order!A:D,(Order!B:B="C002")*(Order!C:C="North"))

👉 조건이 늘어나도 수식 구조는 거의 변하지 않습니다.

 

Step 4. XLOOKUP + FILTER 조합하기

이제 진짜 실무 조합입니다.

 

언제 XLOOKUP이 필요할까?

  • 보고서 입력값이 다른 시트에 있을 때
  • 조건 값이 코드일 때
  • 기준 정보를 먼저 해석해야 할 때

예 :

  • Manager Customer ID 연결

👉 이때 XLOOKUP으로 조건용 컬럼을 먼저 정리합니다.

      그 다음, 정리된 컬럼을 기준으로 FILTER를 적용합니다.

=FILTER(Order!A:D,Order!B:B=XLOOKUP('Customer Master'!B5,'Customer Master'!B:B,'Customer Master'!A:A))

 

 

이 조합이 실무에서 강력한 이유

XLOOKUP + FILTER 조합의 핵심은 이겁니다.

✔ 조건만 바꾸면 결과 자동 변경
✔ 행 단위 데이터 그대로 유지
✔ 보고서 시트에 가공 로직 없음
✔ 자동화 구조 완성

 

즉,

❌ 보고서가 데이터를 골라내는 구조
⭕ 데이터가 조건에 따라 스스로 정렬되는 구조

이 차이가 큽니다.

 


 

실무자가 체감하는 Before / After

❌ Before

  • 필터 → 복사 → 붙여넣기
  • 조건 바뀔 때마다 재작업
  • 누락/중복 위험

✔ After

  • 조건 입력만 변경
  • 데이터 자동 추출
  • 보고서 신뢰도 상승

👉 “엑셀을 잘 쓰는 사람”이 아니라
👉 “보고서를 자동화한 사람”처럼 보이게 됩니다.

 

 

언제 이 구조를 쓰면 좋은가?

다음 상황이라면
XLOOKUP + FILTER 조합이 거의 정답입니다.

  • 조건별 주문 목록
  • 담당자별 상세 내역
  • 특정 기간 거래 리스트
  • 대시보드용 원본 데이터 추출

특히, 아래와 같은 상황에 효과는 확실합니다.

✔ 같은 데이터를 여러 보고서에서 쓸 때
✔ 조건이 자주 바뀔 때

 

 

오늘의 핵심 정리

✔ FILTER는 행 단위 데이터 추출 함수
✔ XLOOKUP은 조건을 정리하는 함수
✔ 조회 → 조건 정리 → 추출 순서가 핵심
✔ 이 조합으로 보고서 자동화가 완성된다