엑셀에서 많은 데이터 중 조건에 맞는 데이터만 따로 추출하고 싶을 때 유용하게 사용할 수 있는 함수가 FILTER 함수입니다.
예를 들어 직원 명단에서 영업팀 직원만 추출하거나, 특정 직급이면서 일정 조건을 만족하는 직원만 표시하는 식으로 활용할 수 있습니다.
특히 FILTER 함수는 조건을 변경하면 결과도 자동으로 바뀌기 때문에 데이터 조회표나 검색 기능을 만들 때도 유용합니다.
이번 글에서는 엑셀 FILTER 함수 사용법부터 AND·OR 조건을 이용한 다중조건 데이터 추출 방법까지 예제를 통해 알아보겠습니다.
엑셀 FILTER 함수란?
FILTER 함수는 지정한 데이터 범위에서 조건을 만족하는 데이터만 추출해 표시하는 함수입니다.
기본적인 함수 구조는 다음과 같습니다.
=FILTER(array, include, [if_empty])
각 인수의 의미는 다음과 같습니다.
- array : 결과로 가져올 데이터 범위
- include : 데이터를 추출할 조건
- if_empty : 조건에 맞는 데이터가 없을 때 표시할 내용
예를 들어 A2:D10에 직원 정보가 있고 B열에 부서명이 입력되어 있다면 다음과 같이 사용할 수 있습니다.
=FILTER(A2:D10,B2:B10=”영업팀”,”결과 없음”)
이 수식은 A2:D10 데이터 중 B열의 값이 영업팀인 행만 추출합니다.
FILTER 함수 기본 사용법
다음과 같은 직원 데이터가 있다고 가정해 보겠습니다.
| 이름 | 부서 | 직급 | 실적 |
|---|---|---|---|
| 김철수 | 영업팀 | 대리 | 120 |
| 이영희 | 총무팀 | 과장 | 80 |
| 박민수 | 영업팀 | 사원 | 95 |
| 김민지 | 개발팀 | 대리 | 110 |
| 최영수 | 영업팀 | 과장 | 150 |
여기에서 영업팀 직원만 추출하려면 다음 수식을 사용할 수 있습니다.
=FILTER(A2:D6,B2:B6=”영업팀”,”결과 없음”)
결과는 다음과 같이 표시됩니다.
| 이름 | 부서 | 직급 | 실적 |
|---|---|---|---|
| 김철수 | 영업팀 | 대리 | 120 |
| 박민수 | 영업팀 | 사원 | 95 |
| 최영수 | 영업팀 | 과장 | 150 |
원본 데이터가 변경되면 FILTER 함수로 추출된 결과 역시 자동으로 변경됩니다.
셀에 입력한 조건으로 데이터 추출하기
FILTER 함수의 조건을 수식 안에 직접 입력하지 않고 특정 셀을 조건 입력칸으로 사용할 수도 있습니다.
예를 들어 F2 셀에 부서명을 입력한다고 가정하면 다음과 같이 작성합니다.
=FILTER(A2:D100,B2:B100=F2,”결과 없음”)
이제 F2 셀에
영업팀
이라고 입력하면 영업팀 직원만 나타나고,
개발팀
이라고 변경하면 개발팀 직원만 나타납니다.
이 방법을 이용하면 하나의 데이터에서 조건만 바꿔가며 원하는 자료를 조회할 수 있습니다.
FILTER 함수 다중조건 사용 방법
FILTER 함수의 장점 중 하나는 여러 조건을 동시에 지정할 수 있다는 것입니다.
대표적인 방식은 AND 조건과 OR 조건입니다.
쉽게 구분하면 다음과 같습니다.
AND 조건
조건1과 조건2를 모두 만족하는 데이터
OR 조건
조건1 또는 조건2 중 하나 이상을 만족하는 데이터
FILTER 함수에서는 *와 + 연산자를 이용해 이러한 조건을 만들 수 있습니다.
FILTER 함수 AND 다중조건
두 가지 이상의 조건을 모두 만족하는 데이터를 추출하려면 각 조건 사이에 *를 사용합니다.
예를 들어
부서가 영업팀이면서 실적이 100 이상
인 직원만 추출한다고 가정하겠습니다.
수식은 다음과 같습니다.
=FILTER(A2:D6,(B2:B6=”영업팀”)*(D2:D6>=100),”결과 없음”)
결과는 다음과 같습니다.
| 이름 | 부서 | 직급 | 실적 |
|---|---|---|---|
| 김철수 | 영업팀 | 대리 | 120 |
| 최영수 | 영업팀 | 과장 | 150 |
영업팀이라는 첫 번째 조건과 실적 100 이상이라는 두 번째 조건을 동시에 만족하는 행만 표시됩니다.
FILTER 함수에서
(조건1)*(조건2)
형태로 작성하면 AND 조건이라고 기억하면 쉽습니다.
3개 이상의 AND 조건 만들기
조건을 3개 이상 적용하는 것도 가능합니다.
예를 들어 다음 조건을 모두 만족하는 직원을 찾아보겠습니다.
- 부서 : 영업팀
- 직급 : 과장
- 실적 : 100 이상
수식은 다음과 같습니다.
=FILTER(A2:D100,(B2:B100=”영업팀”)(C2:C100=”과장”)(D2:D100>=100),”결과 없음”)
조건 사이에 *를 계속 추가하면 됩니다.
즉,
(조건1)(조건2)(조건3)
형태로 여러 조건을 연결할 수 있습니다.
FILTER 함수 OR 다중조건
여러 조건 중 하나라도 만족하는 데이터를 가져오고 싶다면 +를 사용합니다.
예를 들어
영업팀 또는 개발팀
직원을 모두 추출한다고 가정하겠습니다.
수식은 다음과 같습니다.
=FILTER(A2:D6,(B2:B6=”영업팀”)+(B2:B6=”개발팀”),”결과 없음”)
이 경우 부서가 영업팀이거나 개발팀이면 결과에 포함됩니다.
따라서 FILTER 함수에서는
(조건1)+(조건2)
형태를 OR 조건으로 사용할 수 있습니다.
정리하면
AND → *
OR → +
라고 기억하면 편리합니다.
AND 조건과 OR 조건 함께 사용하기
조금 더 복잡한 조건도 만들 수 있습니다.
예를 들어
영업팀 또는 개발팀이면서 실적이 100 이상
인 직원만 추출한다고 가정해 보겠습니다.
수식은 다음과 같습니다.
=FILTER(A2:D100,((B2:B100=”영업팀”)+(B2:B100=”개발팀”))*(D2:D100>=100),”결과 없음”)
여기에서는
(B2:B100=”영업팀”)+(B2:B100=”개발팀”)
부분이 OR 조건이고,
*(D2:D100>=100)
부분이 AND 조건입니다.
조건이 복잡해질수록 괄호를 정확하게 구분해서 작성하는 것이 중요합니다.
특정 문자가 포함된 데이터 추출하기
FILTER 함수와 SEARCH 함수를 함께 사용하면 특정 문자가 포함된 데이터도 추출할 수 있습니다.
예를 들어 A열의 이름에서 김이라는 문자가 포함된 사람을 찾으려면 다음과 같이 사용할 수 있습니다.
=FILTER(A2:D100,ISNUMBER(SEARCH(“김”,A2:A100)),”결과 없음”)
이 경우
김철수
김민지
처럼 이름에 김이 포함된 데이터가 추출됩니다.
검색어를 특정 셀에 입력하도록 만들 수도 있습니다.
예를 들어 F2를 검색어 입력 셀로 사용한다면 다음과 같습니다.
=FILTER(A2:D100,ISNUMBER(SEARCH(F2,A2:A100)),”결과 없음”)
F2의 검색어를 변경할 때마다 검색 결과도 자동으로 변경됩니다.
이 방법을 활용하면 엑셀 시트에 간단한 검색창 기능도 만들 수 있습니다.
숫자 조건으로 데이터 추출하기
FILTER 함수는 문자뿐만 아니라 숫자 조건에도 사용할 수 있습니다.
예를 들어 실적이 100 이상인 데이터만 가져오려면 다음과 같습니다.
=FILTER(A2:D100,D2:D100>=100,”결과 없음”)
100보다 큰 경우만 찾으려면
=FILTER(A2:D100,D2:D100>100,”결과 없음”)
100 이하라면
=FILTER(A2:D100,D2:D100<=100,”결과 없음”)
처럼 비교 연산자를 사용하면 됩니다.
>, <, >=, <=, = 등을 조건에 맞게 활용하면 됩니다.
날짜 조건에도 FILTER 함수 사용 가능
날짜가 입력된 데이터에서도 FILTER 함수를 활용할 수 있습니다.
예를 들어 A열에 날짜가 있고 2026년 9월 1일 이후 데이터만 가져온다면 다음과 같은 방식으로 사용할 수 있습니다.
=FILTER(A2:D100,A2:A100>=DATE(2026,9,1),”결과 없음”)
특정 기간에 해당하는 데이터만 추출하려면 AND 조건을 활용합니다.
=FILTER(A2:D100,(A2:A100>=DATE(2026,9,1))*(A2:A100<=DATE(2026,9,30)),”결과 없음”)
이렇게 하면 2026년 9월 1일부터 9월 30일까지의 데이터만 추출할 수 있습니다.
매출 내역이나 거래 내역처럼 날짜별로 관리하는 자료에서 유용합니다.
빈칸을 제외하고 데이터 추출하기
특정 열에서 빈칸이 아닌 데이터만 추출할 수도 있습니다.
예를 들어 A열에 값이 입력된 행만 가져오려면 다음과 같이 작성합니다.
=FILTER(A2:D100,A2:A100<>””,”결과 없음”)
<>는 같지 않다는 의미이므로
A2:A100<>””
은 A열이 빈칸이 아닌 경우를 의미합니다.
반대로 빈칸인 데이터만 찾고 싶다면 다음과 같이 사용할 수 있습니다.
=FILTER(A2:D100,A2:A100=””,”결과 없음”)
FILTER 함수 결과가 자동으로 여러 셀에 표시되는 이유
FILTER 함수를 처음 사용하면 수식을 하나의 셀에 입력했는데 결과가 여러 셀에 나타나는 것을 볼 수 있습니다.
FILTER 함수는 조건에 맞는 여러 결과를 동적 배열 형태로 자동 확장해서 표시하기 때문입니다.
따라서 결과가 표시될 영역에 다른 데이터가 입력되어 있으면 정상적으로 확장되지 않을 수 있습니다.
이때 대표적으로 나타날 수 있는 오류가
#SPILL!
오류입니다.
FILTER 함수 결과가 표시될 범위에 기존 값이나 병합된 셀 등이 있는지 확인하고 해당 영역을 비워주면 됩니다.
FILTER 함수가 작동하지 않는다면?
FILTER 함수는 동적 배열을 지원하는 엑셀 환경에서 사용할 수 있습니다.
사용 중인 엑셀에서 FILTER 함수를 입력했는데 함수가 인식되지 않거나 #NAME? 등의 오류가 발생한다면 사용 중인 엑셀 버전에서 해당 함수를 지원하는지 확인해야 합니다.
특히 오래된 영구 버전의 Microsoft Office를 사용하고 있다면 FILTER 함수를 사용할 수 없는 경우가 있으므로 버전을 먼저 확인하는 것이 좋습니다.
엑셀 FILTER 함수 사용법 정리
FILTER 함수의 가장 기본적인 형태는 다음과 같습니다.
=FILTER(데이터범위,조건,”결과 없음”)
부서가 영업팀인 데이터만 추출하려면
=FILTER(A2:D100,B2:B100=”영업팀”,”결과 없음”)
두 조건을 모두 만족하는 AND 조건은
=FILTER(A2:D100,(B2:B100=”영업팀”)*(D2:D100>=100),”결과 없음”)
둘 중 하나를 만족하는 OR 조건은
=FILTER(A2:D100,(B2:B100=”영업팀”)+(B2:B100=”개발팀”),”결과 없음”)
처럼 사용할 수 있습니다.
FILTER 함수는 단순한 데이터 추출뿐만 아니라 직원 조회표, 고객 검색, 상품 검색, 매출 분석, 재고 관리 등 다양한 엑셀 문서에서 활용할 수 있습니다.
특히 조건을 입력하는 셀과 FILTER 함수를 조합하면 검색 조건을 변경할 때마다 결과가 자동으로 바뀌기 때문에 반복적으로 필터를 설정하는 작업을 줄일 수 있습니다.
엑셀에서 데이터 검색과 조건별 자료 추출을 자주 한다면 FILTER 함수의 기본 사용법과 함께 AND(*), OR(+) 다중조건 사용법까지 알아두는 것을 추천합니다.
“엑셀 FILTER 함수 사용법 (다중조건 데이터 추출)”에 대한 2개의 생각