목차
매번 필터 버튼 누르고 복사하시나요?
안녕하세요. 여러분의 퇴근 메이트 직장인 엑셀 꿀팁 저장소입니다!
지난 포스팅에서는 숨겨진 셀을 제외하고 계산하는 SUBTOTAL 함수에 대해 알아봤습니다.
기존의 필터링 방식은 원본 데이터 자체를 숨기는 방식이라, 원본은 그대로 두고 ‘원하는 데이터만 따로 뽑아서’ 보고서를 만들고 싶을 땐 복사+붙여넣기를 반복해야 하는 불편함이 있었죠.

하지만 마이크로소프트 365(M365)나 엑셀 2021 버전을 사용 중이라면 더 이상 그런 노가다는 필요 없습니다.
단 하나의 수식으로 조건에 맞는 데이터를 실시간으로 쫙 뿌려주는 엑셀 FILTER 함수가 있기 때문입니다. 원본 데이터가 바뀌면? 당연히 결과도 자동으로 바뀝니다.

엑셀 FILTER 함수란? (동적 배열의 마법)
이 함수는 ‘동적 배열(Dynamic Array)’이라는 기술을 사용합니다. 수식을 한 셀에만 입력해도, 결과값이 여러 개라면 주변 셀로 자동으로 넘쳐흐르는(Spill) 신기한 기능을 말합니다.
- 구조:
=FILTER(배열, 포함기준, [없을때값]) - 배열(Array): 가져올 원본 데이터 범위 전체.
- 포함기준(Include): 조건식 (예: 지역범위=”서울”).
- [없을때값]: 조건에 맞는 게 없을 때 띄울 문구 (예: “데이터 없음”).
함수의 기술적 사양이 궁금하다면 MS 공식 FILTER 함수 도움말을 참고하세요.
기본 사용법: 특정 지역 데이터만 뽑아오기
예를 들어 A열부터 C열에 [날짜, 지역, 매출] 데이터가 있다고 칩시다. 여기서 ‘서울’ 지역 데이터만 따로 빼내고 싶다면 어떻게 할까요?
결과를 표시할 첫 번째 셀(E2)에 딱 한 번만 입력하면 됩니다.
=FILTER(A2:C6, B2:B6="서울", "결과 없음")
엔터를 치는 순간, E2 셀뿐만 아니라 그 아래와 오른쪽으로 서울 데이터들이 자동으로 채워집니다. 드래그할 필요도 없습니다. 이게 바로 동적 배열의 위력입니다.

심화: AND 조건과 OR 조건 동시에 걸기
실무에서는 조건이 하나일 리가 없죠. “서울이면서 매출이 500 이상인 것”처럼 복합 조건을 걸어야 합니다. 이때는 연산자 기호만 기억하세요.
- AND 조건 (이고): 곱하기 기호
*사용 - OR 조건 (이거나): 더하기 기호
+사용
[예제] 지역이 ‘서울’이고(AND), 점수가 ’80 이상’인 데이터 추출
=FILTER(A2:C6, (B2:B6="서울") * (C2:C6>=80), "없음")
괄호로 조건을 묶어서 곱해주기만 하면 됩니다. SUMPRODUCT 함수와 원리가 똑같죠? 이렇게 하면 원하는 타겟 데이터만 정밀하게 추출하여 별도의 보고서 시트를 자동으로 구성할 수 있습니다.

주의사항: #SPILL! 오류가 뜬다면?
FILTER 함수를 썼는데 #SPILL! 또는 #분산! 오류가 뜬다면? 이건 “결과를 뿌려줄 자리에 뭔가 방해꾼이 있다”는 뜻입니다.
FILTER 함수는 결과를 표시하기 위해 주변 셀 공간이 비어 있어야 합니다. 그런데 그 자리에 기존 데이터나 공백 문자가 들어있다면 엑셀이 “비켜주지 않아서 데이터를 못 뿌리겠어!”라고 오류를 내는 것이죠. 결과가 나올 범위를 깨끗하게 비워주면 바로 해결됩니다.
마무리하며
오늘은 엑셀 M365의 축복이라 불리는 엑셀 FILTER 함수에 대해 알아봤습니다. 이제 필터 버튼을 누르고 복사 붙여넣기 하던 시간들을 아껴 더 생산적인 일에 투자하세요.
다음 시간에는 중복된 데이터를 하나씩 지우느라 고생했던 분들을 위해, UNIQUE와 SORT 함수로 고유 목록을 뽑고 정렬까지 한 번에 끝내는 법을 들고 오겠습니다. 칼퇴를 부르는 엑셀 꿀팁은 계속됩니다!
