엑셀 FILTER 함수
📌 FILTER 함수란?
FILTER 함수는 주어진 범위에서 조건을 만족하는 데이터만 필터링해서 추출하는 함수입니다.
엑셀 365 및 엑셀 2021에서 사용할 수 있으며, 조건에 맞는 데이터만 빠르게 추출할 때 매우 유용합니다.
📌 기본 구문
FILTER(array, include, [if_empty])
array : 필터링할 데이터 범위
include : 필터링 조건을 설정하는 논리 배열 (조건을 만족하는 셀에 TRUE, 그렇지 않으면 FALSE)
[if_empty] (선택) : 조건을 만족하는 값이 없을 때 반환할 값 (기본값은 #CALC! 오류)
✅ 기본 예제 (조건에 맞는 데이터 필터링)
이름 성별 나이
김철수 남 25
이영희 여 30
박민수 남 28
최지훈 남 35
유미선 여 22
👉 "남"인 사람들의 이름을 필터링
=FILTER(A2:A6, B2:B6 = "남")
결과 :
김철수
박민수
최지훈
✅ 여러 조건을 만족하는 데이터 필터링
이름 성별 나이
김철수 남 25
이영희 여 30
박민수 남 28
최지훈 남 35
유미선 여 22
👉 "남"이고 나이가 30세 이상인 사람들의 이름을 필터링
=FILTER(A2:A6, (B2:B6 = "남") * (C2:C6 >= 30))
결과 : 최지훈
✅ 조건을 만족하지 않으면 기본값 반환 (if_empty 사용)
이름 성별 나이
김철수 남 25
이영희 여 30
박민수 남 28
최지훈 남 35
유미선 여 22
👉 나이가 40세 이상인 사람들의 이름을 필터링, 없으면 "없음" 반환
=FILTER(A2:A6, C2:C6 >= 40, "없음")
결과 : 없음
✅ 여러 열을 조건에 맞게 필터링
이름 성별 나이 직업
김철수 남 25 개발
이영희 여 30 디자이너
박민수 남 28 개발
최지훈 남 35 마케팅
유미선 여 22 개발
👉 "개발" 직업을 가진 사람들의 이름과 나이 필터링
=FILTER(A2:C6, D2:D6 = "개발")
결과:
김철수 25
박민수 28
유미선 22
✅ 동적 범위 필터링 (자동으로 크기 조정)
FILTER 함수는 결과가 동적으로 변할 수 있기 때문에, 원본 데이터가 변경되면 결과가 자동으로 업데이트됩니다.
📌 FILTER vs IF + ISNUMBER + MATCH
FILTER 함수는 조건에 맞는 데이터를 빠르게 추출하지만, 엑셀의 이전 버전에서는 IF 함수와 ISNUMBER + MATCH 조합을 사용해 조건을 걸어야 했습니다.
예시: FILTER 대신 IF와 MATCH로 구현하기
이름 성별 나이
김철수 남 25
이영희 여 30
박민수 남 28
최지훈 남 35
유미선 여 22
👉 "남"인 사람들의 이름을 필터링 (수식으로)
=IF(ISNUMBER(MATCH("남", B2:B6, 0)), A2:A6, "")
이 방법은 FILTER에 비해 번거롭고 동적이지 않지만, 엑셀 365/2021 이전 버전에서 사용되었습니다.