Excel의 FILTER 함수는 원본 데이터에서 조건에 맞는 행만 다른 위치에 자동으로 추출할 수 있는 함수입니다.
일반 필터처럼 원본 행을 숨기는 방식이 아니라, 수식 결과로 새로운 목록을 만들어주는 것이 핵심입니다.
기본 문법은:
=FILTER(array, include, [if_empty])
입니다.

1. 가장 기본적인 예제
다음 데이터가 있다고 가정합니다.
| 상품코드 | 채널 | 재고 | 판매량 |
|---|---|---|---|
| SKU-A | 온라인 | 12 | 20 |
| SKU-B | 오프라인 | 5 | 8 |
| SKU-C | 온라인 | 7 | 15 |
| SKU-D | 온라인 | 30 | 6 |
온라인 상품만 가져오려면:
=FILTER(A2:D5,B2:B5="온라인","결과 없음")
을 사용할 수 있습니다.
결과는 조건을 만족하는 행만 아래쪽으로 자동 펼쳐집니다.
2. FILTER 함수의 세 인수
array
가져올 전체 범위.
예:
A2:D100
include
어떤 행을 포함할지 결정하는 조건.
예:
B2:B100="온라인"
if_empty
조건에 맞는 결과가 없을 때 표시할 값.
예:
"결과 없음"
세 번째 인수는 선택사항이지만 실무에서는 넣어두는 편이 편리합니다.
3. 재고가 10개 미만인 상품 추출
재고 열이 C열이라면:
=FILTER(A2:D100,C2:C100<10,"대상 없음")
으로 품절 위험 SKU 후보를 빠르게 따로 볼 수 있습니다.
원본 데이터가 바뀌면 결과도 조건에 맞춰 다시 계산됩니다.
4. 두 조건을 모두 만족하는 경우
예:
- 채널 = 온라인
- 재고 < 10
두 조건을 모두 만족하려면 곱하기 *를 사용할 수 있습니다.
=FILTER(A2:D100,(B2:B100="온라인")*(C2:C100<10),"대상 없음")
Microsoft도 FILTER에서 AND 조건을 만들 때 이런 방식을 예제로 안내합니다.
5. 둘 중 하나만 만족해도 되는 경우
OR 조건은 더하기 +를 활용할 수 있습니다.
예:
- 채널이 온라인이거나
- 재고가 10개 미만
=FILTER(A2:D100,(B2:B100="온라인")+(C2:C100<10),"대상 없음")
6. 왜 #CALC! 오류가 나나?
조건에 맞는 행이 하나도 없고 [if_empty]를 생략하면 빈 배열 때문에 #CALC! 오류가 나타날 수 있습니다.
따라서:
"결과 없음"
같은 세 번째 인수를 넣는 방법이 좋습니다.
7. 결과가 여러 셀로 자동 펼쳐지는 이유
FILTER는 동적 배열 함수입니다.
수식은 첫 번째 셀에 하나만 입력하지만 결과가 필요한 만큼 주변 셀로 자동으로 펼쳐집니다.
이를 Spill이라고 부릅니다.
결과가 펼쳐질 영역에 다른 값이 있으면 정상적으로 확장되지 않을 수 있습니다.
8. 일반 필터와 FILTER 함수 차이
| 구분 | 일반 필터 | FILTER 함수 |
|---|---|---|
| 원본 데이터 | 조건 밖 행 숨김 | 그대로 유지 |
| 결과 | 같은 표에서 표시 | 다른 영역에 새 목록 생성 |
| 자동 분석표 | 제한적 | 수식과 연결하기 쉬움 |
| 사용 방식 | 메뉴 | 수식 |
둘 중 하나가 무조건 더 좋은 것은 아닙니다.
목적이 다릅니다.
9. SORT와 함께 사용
온라인 상품을 추출한 뒤 판매량 기준으로 정렬하려면 FILTER와 SORT를 함께 사용할 수 있습니다.
예:
=SORT(FILTER(A2:D100,B2:B100="온라인",""),4,-1)
여기서 4는 결과 범위의 네 번째 열을 의미하고 -1은 내림차순입니다.
10. Excel 표와 함께 쓰기
원본 데이터를 Excel 표로 만들고 구조적 참조를 사용하면 행이 추가될 때 범위 관리가 편해집니다.
대량 데이터에서 수식을 관리할 때 특히 유용합니다.
11. 다른 통합문서 참조 시 주의
Microsoft는 동적 배열의 통합문서 간 연결을 제한적으로 지원한다고 안내합니다.
원본 통합문서가 닫힌 상태에서는 연결된 FILTER 결과가 새로 고침될 때 #REF! 오류가 발생할 수 있습니다.
파일을 나눠 관리한다면 이 부분을 확인해야 합니다.
12. 실무 활용 예
판매 데이터
특정 채널 주문만 자동 추출
재고 데이터
재고 10개 미만 SKU 목록
입고 데이터
특정 월 입고 예정 품목
SCM
특정 등급 + 특정 창고 조건을 동시에 만족하는 SKU
13. 처음 사용할 때 추천 순서
- 원본 범위 확인
- 가장 단순한 조건 하나 작성
- FILTER 적용
- 결과가 펼쳐질 공간 확보
- 결과 없음 문구 추가
- 필요하면 AND/OR 조건 추가
- SORT 등 다른 함수와 결합
14. FAQ
FILTER와 데이터 메뉴의 필터는 같은 기능인가요?
아닙니다.
메뉴 필터는 원본에서 행을 숨기고, FILTER 함수는 별도 결과 배열을 만듭니다.
조건을 두 개 쓸 수 있나요?
네.
AND와 OR 조건을 조합할 수 있습니다.
결과가 없으면 왜 오류가 나나요?
빈 배열을 그대로 반환할 수 없기 때문입니다.
[if_empty] 인수를 사용하면 편리합니다.
Microsoft 365에서 사용할 수 있나요?
네.
Microsoft는 FILTER를 Microsoft 365, Excel 2024, Excel 2021 등에서 지원한다고 안내합니다.
처음에는 =FILTER(범위, 조건, "결과 없음") 세 부분만 이해하면 충분합니다.
답글 남기기