FILTER 함수를 사용하면 직접 정의한 조건을 바탕으로 일정 범위의 데이터를 필터링할 수 있습니다.
다음 예제에서는 =FILTER(A5:D20,C5:C20=H2,"") 수식을 사용하여 셀 H2에서 선택한 대로 Apple에 대한 모든 레코드를 반환하고 사과가 없는 경우 빈 문자열("")을 반환했습니다.
FILTER 함수는 부울(True/False) 배열에 따라 배열을 필터링합니다.
=FILTER(array,include,[if_empty])
인수 |
설명 |
array 필수 |
배열, 또는 필터링할 범위 |
include 필수 |
높이와 너비가 위 배열과 동일한 부울 배열 |
[if_empty] 선택 사항 |
포함된 배열의 모든 값이 비어 있는 경우(필터가 아무것도 반환하지 않는 경우) 반환할 값 |
참고 사항:
-
배열은 값으로 구성된 하나의 행, 값으로 구성된 하나의 열 또는 값으로 구성된 행과 열의 조합으로 생각할 수 있습니다. 위 예제에서 FILTER 수식의 소스 배열은 범위 A5:D20입니다.
-
FILTER 함수는 배열을 반환합니다. 이 배열이 수식의 최종 결과인 경우에는 인접 셀로 결과를 분산됩니다. 즉, 사용자가 ENTER 키를 누르면 Excel은 적절한 크기의 배열 범위를 동적으로 생성합니다. 관련 데이터가 Excel 표인 경우, 구조적 참조를 사용하고 있다면 사용자가 배열 범위에서 데이터를 추가하거나 제거함에 따라 배열의 크기가 자동으로 조정됩니다. 자세한 내용은 분산된 배열 동작에 대한 문서를 참조하세요.
-
데이터 집합이 빈 값을 반환할 가능성이 있다면 세 번째 인수 ([if_empty])를 사용하세요. 세 번째 인수를 사용하지 않으면 Excel은 현재 빈 배열을 지원하지 않기 때문에 #CALC! 오류 가 발생합니다.
-
include 인수의 값이 오류(#N/A, #VALUE 등)이거나 부울로 변환할 수 없는 경우 FILTER 함수는 오류를 반환합니다.
-
Excel에서는 통합 문서 간의 동적 배열을 제한적으로 지원하므로 이 시나리오는 두 통합 문서가 열려 있는 경우에만 지원됩니다. 원본 통합 문서를 닫는 경우 연결된 모든 동적 배열 수식은 새로 고치면 #REF! 오류 를 반환합니다.
예제
FILTER를 사용하여 여러 조건 반환
이 예제에서는 곱셈 연산자(*)를 사용하여 배열 범위 (A5:D20)에서 제품은 Apple AND 지역은 East인 모든 값을 반환합니다. =FILTER(A5:D20,(C5:C20=H1)*(A5:A20=H2),"").
FILTER를 사용하여 여러 조건을 반환하고 정렬
이 예제에서는 앞에서 사용한 FILTER 함수를 SORT 함수와 함께 사용하여 배열 범위 (A5:D20)에서 제품은 Apple AND 지역은 East인 모든 값을 반환한 다음 개수를 내림차순으로 정렬합니다. =SORT(FILTER(A5:D20,(C5:C20=H1)*(A5:A20=H2),""),4,-1)
이 예제에서는 FILTER 함수에 덧셈 연산자(+)를 사용하여 배열 범위 (A5:D20)에서 제품은 사과 또는 지역은 동부인 모든 값을 반환한 다음 개수를 내림차순으로 정렬합니다. =SORT(FILTER(A5:D20,(C5:C20=H1)+(A5:A20=H2),""),4,-1).
함수는 하나의 셀에만 존재하고 결과를 인접 셀로 분산하기 때문에 함수에 절대 참조가 필요하지 않다는 것을 볼 수 있습니다.
추가 지원
언제든지 Excel 기술 커뮤니티에서 전문가에게 문의하거나 커뮤니티에서 지원을 받을 수 있습니다.