업무 시간을 절반으로 줄여주는 엑셀 FILTER 함수란?
직장인이라면 누구나 수많은 데이터 속에서 내가 원하는 특정 조건의 행만 골라내야 하는 상황을 마주합니다. 예전에는 ‘필터’ 기능을 쓰거나 복잡한 ‘VLOOKUP’, ‘INDEX+MATCH’ 공식을 조합해야 했죠. 하지만 오피스 365 버전 이상을 사용하고 계신다면, 이제 게임 체인저는 FILTER 함수입니다.
‘시간절약연구소’에서 강력하게 추천하는 FILTER 함수는 조건에 맞는 데이터만 실시간으로 추출해 새로운 공간에 뿌려주는 강력한 동적 배열 함수입니다. 특히 특정 단어가 포함된 행을 쏙쏙 골라내야 할 때 그 진가가 발휘되는데요. 오늘 이 가이드 하나만 끝까지 읽으시면, 여러분의 엑셀 야근은 확실히 사라지게 될 것입니다.
기본 문법 파헤치기
FILTER 함수를 실무에 적용하기 전에, 기본적인 구조부터 완벽하게 이해해야 합니다. 함수식은 생각보다 매우 직관적이고 간단합니다.
=FILTER(범위, 조건, [값 없음])
- 범위 (Array): 내가 추출하고 싶은 전체 데이터 테이블의 영역입니다.
- 조건 (Include): 참(TRUE)과 거짓(FALSE)을 판별할 조건식입니다. 오늘 핵심적으로 다룰 ‘특정 단어 포함’ 조건이 여기에 들어갑니다.
- 값 없음 (If_empty): [선택사항] 조건에 맞는 데이터가 하나도 없을 때 표시할 텍스트입니다. 지정하지 않으면
#CALC!오류가 발생하므로 “데이터 없음” 등의 텍스트를 넣어주는 것이 센스입니다.
핵심 기술: 특정 단어 포함 행만 골라내기 (ISNUMBER + SEARCH 조합)
많은 분들이 엑셀에서 특정 단어가 ‘포함된’ 데이터를 찾을 때 등호(=)를 쓰려고 합니다. 하지만 = "완료"는 정확히 “완료”라는 글자만 찾을 뿐, “작업 완료”, “완료됨” 같은 셀은 찾아내지 못합니다. 텍스트의 일부를 포함하는 행을 찾으려면 SEARCH 함수와 ISNUMBER 함수를 FILTER의 조건식에 융합해야 합니다.
| 구분 | 함수 공식 예시 | 설명 및 활용 팁 |
|---|---|---|
| 정확히 일치하는 행 | =FILTER(A2:D100, B2:B100="완료", "없음") |
상태가 정확히 ‘완료’인 행만 추출 |
| 특정 단어 포함 행 | =FILTER(A2:D100, ISNUMBER(SEARCH("긴급", C2:C100)), "없음") |
비고란에 ‘긴급’이라는 단어가 어디든 포함된 행 추출 |
| 다중 조건 (A 그리고 B) | =FILTER(A2:D100, (B2:B100="진행중")*(ISNUMBER(SEARCH("서울", D2:D100)))) |
진행중이면서 지역에 ‘서울’이 포함된 행 추출 |
위 표에서 보신 두 번째 공식이 바로 실무에서 가장 많이 쓰이는 마법의 공식입니다. SEARCH("찾을단어", 범위)는 단어가 발견된 위치(숫자)를 반환하고, 발견되지 않으면 에러를 냅니다. 여기에 ISNUMBER를 씌워주면 단어가 포함된 곳은 TRUE, 아니면 FALSE로 변환되어 FILTER 함수가 완벽하게 인식할 수 있게 됩니다.
실무 적용 시 주의사항 및 꿀팁
FILTER 함수를 사용할 때 현업에서 자주 발생하는 몇 가지 실수를 짚어보겠습니다. 첫째, 동적 배열의 스필(Spill) 현상입니다. FILTER 함수는 결과값이 자동으로 아래와 옆으로 퍼져나가므로, 함수를 입력할셀 주변에 다른 데이터가 적혀있으면 #SPILL! 에러가 발생합니다. 반드시 결과가 출력될 공간을 비워두세요.
둘째, 대소문자 구분 문제입니다. SEARCH 함수는 대소문자를 구분하지 않지만, 정확하게 대소문자까지 일치해야 하는 데이터를 다룬다면 FIND 함수를 대신 사용해야 할 수도 있습니다. 하지만 일반적인 한글 업무 환경에서는 SEARCH 면 충분합니다.
FAQ
Q1. 오피스 구버전(2016 등)을 쓰는데 FILTER 함수를 쓸 수 없나요?
안타깝게도 FILTER 함수는 Microsoft 365(엑셀 365) 또는 Excel 2021 이상의 최신 버전에만 기본 탑재되어 있습니다. 구버전 사용자라면 기존의 고급 필터 기능이나 INDEX, MATCH, ROW 함수를 조합한 배열 수식을 활용해야 합니다. 업무 효율을 위해 최신 버전으로의 업그레이드를 강력히 권장합니다.
Q2. 검색할 단어를 셀 주소로 지정할 수도 있나요?
네, 물론입니다! SEARCH("긴급", C2:C100) 처럼 큰따옴표 안에 직접 단어를 적는 대신, 특정 셀(예: F1셀)에 긴급이라는 글자를 입력해 두고 SEARCH(F1, C2:C100)으로 지정하면, F1셀의 단어를 바꿀 때마다 실시간으로 필터링 결과가 바뀌는 멋진 검색형 대시보드를 만들 수 있습니다.
Q3. 조건이 여러 개일 때는 어떻게 연결하나요?
AND 조건(모두 만족)은 별표(*)를 사용하고, OR 조건(하나라도 만족)은 플러스(+) 기호를 사용하여 조건식들을 괄호로 묶어 연결해주면 됩니다. 예를 들어 ‘서울’이 포함되어 있거나 ‘부산’이 포함된 행을 모두 가져오고 싶다면 (ISNUMBER(SEARCH("서울", D2:D100)) + ISNUMBER(SEARCH("부산", D2:D100))) 형태로 작성하시면 됩니다.
지금까지 엑셀 FILTER 함수를 이용해 특정 단어가 포함된 행만 쉽고 빠르게 골라내는 방법을 알아보았습니다. 반복되는 단순 업무는 엑셀 자동화에 맡기고, 여러분은 더 가치 있는 일에 시간을 투자해 보세요. 시간절약연구소는 앞으로도 유용한 실무 엑셀 팁으로 찾아오겠습니다!