엑셀 함수 수식 정리

엑셀 FILTER 함수

letanger 2025. 1. 27. 17:51

 📌 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 이전 버전에서 사용되었습니다.