Excel · 조회

엑셀 FILTER

조건으로 행 자동 추출 — M365 동적 배열의 꽃, AutoFilter를 함수로 대체.

FILTER 수식 구조

=FILTER(배열, 포함조건, [비어있을때])

배열 (array)

필터링할 범위 — 전체 표 또는 단일 열.

포함 조건 (include)

TRUE/FALSE 배열. 보통 A:A="조건" 같은 비교식. 배열 크기가 배열의 행 수와 일치해야 합니다.

비어있을 때 (if_empty, 선택)

조건에 맞는 행이 없을 때 반환할 값. 생략 시 #CALC!.

FILTER는 M365 / Excel 2021 이상 전용입니다. 결과가 여러 행이면 자동으로 아래·옆으로 펼쳐짐(spill). Ctrl+Shift+Enter 같은 배열 수식 입력이 필요 없고, 결과 셀에 자물쇠가 걸려 다른 값을 덮어쓰면 #SPILL! 오류가 납니다.

직접 체험해보세요

부서·연봉 조건을 바꿔보세요. 원본은 그대로지만 FILTER 결과 표는 조건에 맞는 행만 동적으로 펼쳐집니다.

E2#==FILTER(직원, 부서="영업", "없음")

조건 1: 부서

조건 2: 연봉 ≥ 0만원

원본 (A2:C9)

이름부서연봉
김지수영업4,800만원
이민호개발5,500만원
박서연영업5,200만원
정우진개발6,200만원
최하늘인사4,300만원
강도윤영업4,500만원
윤서아개발5,800만원
한지호인사4,700만원

FILTER 결과 (자동 펼침)

이름부서연봉
김지수영업4,800만원
박서연영업5,200만원
강도윤영업4,500만원
결과: 3명 / 원본 8

실전 활용 예제

=FILTER(A2:C20, B2:B20="영업", "해당 없음")

단일 조건 — 영업부 행만 추출. AutoFilter와 비슷하지만 결과가 별도 영역에 자동 표시되어 대시보드에 적합.

예시: 원본은 그대로, 결과 별도영업부 행 자동 펼침
=FILTER(A2:C20, (B2:B20="영업")*(C2:C20>=5000))

AND 조건 — 곱셈으로 조건 결합. TRUE·TRUE는 1×1=1, 하나라도 FALSE면 0. SUMPRODUCT와 같은 원리.

예시: 영업 AND 5000 이상두 조건 모두 만족
=FILTER(A2:C20, (B2:B20="영업")+(B2:B20="개발"))

OR 조건 — 덧셈. 어느 하나라도 TRUE면 0이 아닌 값이 되어 행 포함. 곱셈은 AND, 덧셈은 OR.

예시: 영업 OR 개발둘 중 하나 만족
=SORT(FILTER(A2:C20, B2:B20=F1), 3, -1)

FILTER + SORT 결합 — F1 부서로 필터 후 3번째 열(연봉) 기준 내림차순. 동적 대시보드의 기본 패턴.

예시: 부서 선택 → 연봉 순필터 + 정렬
목차
  1. 1.엑셀 FILTER 함수란?
  2. 2.동적 배열 + Spill 동작
  3. 3.AND·OR 결합 (*, +)
  4. 4.실전 사용 시나리오 10가지
  5. 5.FILTER vs VLOOKUP·AutoFilter
  6. 6.자주 발생하는 오류·함정 6가지
  7. 7.자주 묻는 질문

엑셀 FILTER 함수란?

엑셀 FILTER 함수는 조건에 맞는 행/열을 배열로 자동 추출하는 동적 배열 함수입니다. VLOOKUP·XLOOKUP은 첫 매칭만 반환하지만, FILTER는 모든 매칭 행을 한 번에 추출. 대시보드·동적 보고서·실시간 조건 검색의 표준.

구문은 =FILTER(범위, 조건, [빈결과]) 3인수. Microsoft 365·Excel 2021+ 전용 (Excel 2019 이하 미지원). Google Sheets도 지원 하지만 인수 순서가 약간 다름.

동적 배열 + Spill 동작

  • 단일 셀에 입력하면 결과 전체가 인접 셀로 spill (넘침)
  • 결과 영역의 첫 셀에만 수식, 나머지는 자동 표시 (회색 테두리)
  • spill 범위 침범 시 #SPILL! 오류
  • 결과 크기는 동적 — 원본 데이터가 늘어나면 spill 영역도 자동 확장

A1: =FILTER(데이터, 조건)

→ A1, A2, A3, ... B1, B2, ... 자동 spill

AND·OR 결합 (*, +)

FILTER는 AND/OR 함수가 아닌 곱셈/덧셈으로 조건 결합:

조건패턴
AND(조건1) * (조건2)(B="서울")*(C>=100)
OR(조건1) + (조건2)(B="서울")+(B="부산")
NOT1 - (조건)(B<>"서울")

AND: =FILTER(데이터, (지역="서울")*(매출>=100))

OR : =FILTER(데이터, (지역="서울")+(지역="부산"))

AND/OR 함수(=AND(B="서울", C>100))는 단일 결과만 반환해서 배열 동작 안 함. 반드시 *, + 사용.

실전 사용 시나리오 10가지

  • 단일 조건 =FILTER(A2:C100, B2:B100="서울")
  • AND 결합 =FILTER(A2:D100, (B2:B100="서울")*(C2:C100>=100))
  • OR 결합 =FILTER(A2:D100, (B2:B100="서울")+(B2:B100="부산"))
  • 빈 결과 처리 =FILTER(A2:C100, B2:B100="평양", "결과 없음")
  • 특정 열만 =FILTER(A2:A100, B2:B100="서울")
  • 동적 검색 (드롭다운) =FILTER(데이터, 분류=E1)
  • FILTER + SORT =SORT(FILTER(데이터, 지역="서울"), 3, -1)
  • FILTER + UNIQUE =UNIQUE(FILTER(데이터, 지역="서울"))
  • 텍스트 부분 일치 =FILTER(A2:A100, ISNUMBER(SEARCH("애플", A2:A100)))
  • 날짜 범위 =FILTER(데이터, (날짜>="2026-01-01")*(날짜<="2026-12-31"))

FILTER vs VLOOKUP·AutoFilter

함수결과 수사용
VLOOKUP1개 (첫 매칭)단일 룩업
XLOOKUP1개 (또는 배열 반환)단일 룩업·VLOOKUP 후속
INDEX/MATCH1개유연한 단일 룩업
FILTER여러 개복합 조건·다중 결과
AutoFilter (UI)원본 위 숨김임시 필터

→ 여러 결과 필요시 FILTER, 단일 매칭이면 XLOOKUP, 임시면 AutoFilter.

자주 발생하는 오류·함정 6가지

  • #SPILL! — spill 자리에 다른 데이터. 결과 영역 비우거나 다른 위치로
  • #CALC! — 빈 결과 + if_empty 없음. 3번째 인수로 메시지 지정
  • #VALUE! — array와 include 행 수 다름. A2:A100과 B2:B50 조합 X
  • 버전 호환성 — Excel 2019 이하 미지원. 대안: IFERROR+INDEX+SMALL 배열 수식
  • AND/OR 함수 잘못 사용 AND(B="서울", C>100)은 단일 결과. * (곱셈)으로 배열 AND 구현
  • 절대 참조 — 수식 복사 시 범위 변경 주의. $A$2:$A$100 권장

자주 묻는 질문

Q. FILTER 함수 사용법은?

=FILTER(범위, 조건, [빈결과]) 형식입니다. 예: =FILTER(A2:C100, B2:B100="서울") → 지역이 서울인 행만 추출. Microsoft 365·Excel 2021+에서만 지원.

Q. AND·OR 조건은 어떻게?

AND는 곱셈 *, OR는 덧셈 +. (B="서울")*(C>=100) = AND, (B="서울")+(B="부산") = OR. AND/OR 함수는 배열 동작 안 함.

Q. #SPILL! 오류는 왜 나나요?

결과가 spill될 영역에 다른 데이터가 있으면 발생. FILTER는 결과 크기에 맞게 인접 셀로 펼치는데, 그 자리에 값이 있으면 충돌. 영역을 비우거나 다른 위치로 옮기세요.

Q. 결과가 없으면 어떻게?

3번째 인수 if_empty로 표시할 값 지정: =FILTER(범위, 조건, "결과 없음"). 생략하면 #CALC! 오류.

Q. FILTER vs VLOOKUP?

VLOOKUP은 1개 결과, FILTER는 여러 결과. VLOOKUP은 첫 매칭만 반환, FILTER는 모든 매칭. 여러 행이 필요하면 FILTER, 단일 룩업이면 VLOOKUP/XLOOKUP.

Q. Excel 2019에서 사용 가능한가요?

불가. FILTER는 Microsoft 365·Excel 2021+ 전용. Excel 2019 이하에서는 IFERROR + INDEX + SMALL의 배열 수식이나 AutoFilter로 대체. 버전 확인 필수.

Q. 정렬·중복 제거와 조합은?

=SORT(FILTER(...)) 정렬, =UNIQUE(FILTER(...)) 중복 제거. 동적 배열 함수들은 자유롭게 중첩 가능.

Q. 구글 스프레드시트에서도 동일하게 작동하나요?

네. Google Sheets에도 FILTER 함수 있고 동일하게 작동. 단 인수 순서가 약간 다른 경우 있어서(특히 다중 조건) 공식 문서 확인 권장.

본 페이지는 Microsoft Support 공식 FILTER·Dynamic Arrays 문서를 기준으로 작성되었습니다. 정확한 동작은 Excel 버전·환경에 따라 달라질 수 있으니 중요한 작업 전에는 실제 환경에서 확인하세요.