엑셀에서 수백 개의 판매 내역이나 고객 정보를 관리하다 보면 특정 조건에 맞는 자료만 따로 확인해야 할 때가 있습니다. 예를 들어 부산 지역 고객만 찾거나, 매출이 10만 원 이상인 상품만 추출하거나, 특정 담당자의 거래 내역만 확인하는 경우입니다.
이때 엑셀의 FILTER 함수를 활용하면 원본 데이터를 삭제하거나 이동하지 않고도 원하는 조건에 맞는 자료만 자동으로 추출할 수 있습니다.
특히 챗GPT를 함께 사용하면 복잡한 함수 구조를 직접 외우지 않아도 필요한 조건을 설명하는 것만으로 적절한 수식과 사용 방법을 안내받을 수 있습니다.
1. 엑셀 FILTER 함수란 무엇인가?
FILTER 함수는 지정한 데이터 범위에서 조건을 만족하는 행이나 열을 추출하는 함수입니다.
일반적인 필터 기능은 원본 표에서 조건에 맞지 않는 행을 숨기는 방식이지만, FILTER 함수는 조건에 맞는 결과를 다른 셀에 별도로 표시합니다.
또한 원본 데이터가 변경되면 추출 결과도 자동으로 갱신됩니다.
FILTER 함수의 기본 구조는 다음과 같습니다.
=FILTER(배열, 포함조건, [결과없을때])
각 항목의 의미는 다음과 같습니다.
| 항목 | 설명 |
|---|---|
| 배열 | 추출할 전체 데이터 범위 |
| 포함조건 | 추출 여부를 결정하는 조건 |
| 결과없을때 | 조건에 맞는 자료가 없을 때 표시할 내용 |
예를 들어 A2 범위의 데이터에서 C열 값이 부산인 행만 추출하려면 다음과 같이 입력합니다.
=FILTER(A2:D10,C2:C10="부산","자료 없음")
이 수식은 C열에 부산이라고 입력된 행을 찾아 A열부터 D열까지의 내용을 표시합니다.
FILTER 함수는 Microsoft 365, Excel 2021, Excel 2024 등에서 사용할 수 있습니다. Excel 2019와 이전 버전에서는 일반적으로 지원되지 않습니다.
2. FILTER 함수 실습용 판매 데이터 만들기
실제 판매 내역을 예제로 사용해 보겠습니다.
엑셀 A1 범위에 다음 데이터를 입력합니다.
| 상품명 | 담당자 | 지역 | 판매수량 | 매출액 |
|---|---|---|---|---|
| 운동화 | 김민수 | 서울 | 5 | 250000 |
| 티셔츠 | 이영희 | 부산 | 8 | 160000 |
| 청바지 | 박철수 | 대구 | 3 | 120000 |
| 재킷 | 김민수 | 부산 | 2 | 180000 |
| 모자 | 이영희 | 서울 | 10 | 100000 |
| 운동화 | 박철수 | 부산 | 4 | 200000 |
| 티셔츠 | 김민수 | 대전 | 6 | 120000 |
| 청바지 | 이영희 | 부산 | 5 | 200000 |
첫 번째 행에는 항목 이름을 입력하고 실제 데이터는 2행부터 9행까지 배치합니다.
이제 이 자료를 이용해 지역별, 매출별, 담당자별 데이터를 추출해 보겠습니다.
3. 특정 지역의 판매 내역만 추출하기
먼저 부산 지역의 판매 내역만 추출해 보겠습니다.
G1에 원본과 동일한 항목 이름을 입력한 다음 G2 셀에 다음 수식을 입력합니다.
=FILTER(A2:E9,C2:C9="부산","자료 없음")
수식을 입력하면 부산 지역의 판매 내역이 자동으로 표시됩니다.
| 상품명 | 담당자 | 지역 | 판매수량 | 매출액 |
|---|---|---|---|---|
| 티셔츠 | 이영희 | 부산 | 8 | 160000 |
| 재킷 | 김민수 | 부산 | 2 | 180000 |
| 운동화 | 박철수 | 부산 | 4 | 200000 |
| 청바지 | 이영희 | 부산 | 5 | 200000 |
전체 8건 중 부산 지역에 해당하는 4건만 추출된 것을 확인할 수 있습니다.
지역 이름을 서울로 바꾸면 서울 지역 자료만 표시됩니다.
4. 매출액이 20만 원 이상인 자료 추출하기
이번에는 판매금액을 기준으로 자료를 추출해 보겠습니다.
G2 셀에 다음 수식을 입력합니다.
=FILTER(A2:E9,E2:E9>=200000,"자료 없음")
이 수식은 E열의 매출액이 200000 이상인 행만 표시합니다.
| 상품명 | 담당자 | 지역 | 판매수량 | 매출액 |
|---|---|---|---|---|
| 운동화 | 김민수 | 서울 | 5 | 250000 |
| 운동화 | 박철수 | 부산 | 4 | 200000 |
| 청바지 | 이영희 | 부산 | 5 | 200000 |
결과는 총 3건입니다.
매출액이 20만 원과 정확히 같은 자료도 포함됩니다.
만약 20만 원을 초과하는 자료만 찾으려면 >= 대신 > 기호를 사용하면 됩니다.
5. 여러 조건을 동시에 만족하는 자료 추출하기
FILTER 함수는 두 가지 이상의 조건도 처리할 수 있습니다.
예를 들어 부산 지역이면서 매출액이 18만 원 이상인 자료만 추출한다고 가정하겠습니다.
다음 수식을 입력합니다.
=FILTER(A2:E9,(C2:C9="부산")*(E2:E9>=180000),"자료 없음")
여기서 곱하기 기호는 두 조건을 모두 만족해야 한다는 의미입니다.
추출 결과는 다음과 같습니다.
| 상품명 | 담당자 | 지역 | 판매수량 | 매출액 |
|---|---|---|---|---|
| 재킷 | 김민수 | 부산 | 2 | 180000 |
| 운동화 | 박철수 | 부산 | 4 | 200000 |
| 청바지 | 이영희 | 부산 | 5 | 200000 |
이처럼 여러 조건을 곱하기 기호로 연결하면 모든 조건을 만족하는 자료만 추출할 수 있습니다.
6. 두 조건 중 하나만 만족해도 추출하기
이번에는 서울 또는 부산 지역에 해당하는 자료를 추출해 보겠습니다.
이 경우에는 곱하기 대신 더하기 기호를 사용합니다.
=FILTER(A2:E9,(C2:C9="서울")+(C2:C9="부산"),"자료 없음")
더하기 기호는 두 조건 중 하나 이상을 만족하면 해당 자료를 표시한다는 의미입니다.
실습 데이터에서는 서울 2건과 부산 4건을 합쳐 총 6건이 추출됩니다.
조건을 구분하면 다음과 같습니다.
| 기호 | 의미 | 예시 |
|---|---|---|
* | 모든 조건 만족 | 부산이면서 매출 20만 원 이상 |
+ | 하나 이상 만족 | 서울 또는 부산 |
>= | 이상 | 매출 20만 원 이상 |
<= | 이하 | 판매수량 5개 이하 |
<> | 같지 않음 | 부산이 아닌 지역 |
조건이 많아질수록 괄호를 정확하게 사용하는 것이 중요합니다.
7. 셀에 조건을 입력해 자동으로 자료 추출하기
실무에서는 수식을 매번 수정하는 것보다 조건을 입력하는 셀을 별도로 만드는 편이 편리합니다.
예를 들어 G2 셀에 부산을 입력하고, G4 셀에 다음 수식을 작성합니다.
=FILTER(A2:E9,C2:C9=G2,"자료 없음")
이제 G2 셀의 지역 이름을 변경하면 추출 결과도 자동으로 바뀝니다.
부산을 서울로 변경하면 서울 지역 자료가 표시되고, 대구로 변경하면 대구 지역 자료가 표시됩니다.
지역별 고객 관리나 거래처별 판매 실적을 확인할 때 활용하기 좋은 방법입니다.
8. FILTER 함수와 SORT 함수 함께 사용하기
FILTER 함수로 추출한 자료를 매출액이 높은 순서대로 정렬할 수도 있습니다.
이때 SORT 함수를 함께 사용합니다.
=SORT(FILTER(A2:E9,C2:C9="부산","자료 없음"),5,-1)
이 수식은 부산 지역의 판매 내역을 추출한 다음 다섯 번째 열인 매출액을 기준으로 내림차순 정렬합니다.
| 상품명 | 담당자 | 지역 | 판매수량 | 매출액 |
|---|---|---|---|---|
| 운동화 | 박철수 | 부산 | 4 | 200000 |
| 청바지 | 이영희 | 부산 | 5 | 200000 |
| 재킷 | 김민수 | 부산 | 2 | 180000 |
| 티셔츠 | 이영희 | 부산 | 8 | 160000 |
SORT 함수에서 마지막 값이 -1이면 내림차순, 1이면 오름차순입니다.
단, 위 수식은 부산 지역 자료가 존재한다는 전제로 작성한 것입니다. 조건에 맞는 자료가 없는 경우까지 처리하려면 다음처럼 작성할 수 있습니다.
=IFERROR(SORT(FILTER(A2:E9,C2:C9="부산"),5,-1),"자료 없음")
9. 챗GPT로 FILTER 함수 자동 작성하기
엑셀 함수를 잘 모르는 사용자도 챗GPT를 활용하면 원하는 조건에 맞는 수식을 쉽게 만들 수 있습니다.
예를 들어 다음과 같이 질문합니다.
“엑셀 A열은 상품명, B열은 담당자, C열은 지역, D열은 판매수량, E열은 매출액입니다. 데이터는 2행부터 100행까지 있습니다. 부산 지역이면서 매출액이 20만 원 이상인 자료만 추출하는 FILTER 함수를 만들어 주세요.”
챗GPT는 다음과 같은 수식을 제안할 수 있습니다.
=FILTER(A2:E100,(C2:C100="부산")*(E2:E100>=200000),"자료 없음")
사용자는 해당 수식을 복사하여 엑셀의 빈 셀에 입력하면 됩니다.
조건을 변경하거나 추가하고 싶을 때도 챗GPT에 설명하면 됩니다.
예를 들어 “부산 지역이면서 매출액이 20만 원 이상이고 담당자가 박철수인 자료만 추출해 줘”라고 요청하면 다음과 같은 수식을 만들 수 있습니다.
=FILTER(A2:E100,(C2:C100="부산")*(E2:E100>=200000)*(B2:B100="박철수"),"자료 없음")
챗GPT는 엑셀 파일의 실제 열 구조와 데이터 범위를 알려줄수록 더 정확한 수식을 작성할 수 있습니다.
10. FILTER 함수 오류 해결 방법
FILTER 함수를 사용하다 보면 결과가 표시되지 않거나 오류가 발생할 수 있습니다.
대표적인 오류와 해결 방법은 다음과 같습니다.
| 오류 | 발생 원인 | 해결 방법 |
|---|---|---|
| #SPILL! | 결과가 표시될 셀에 다른 데이터가 있음 | 결과 영역의 기존 데이터 제거 |
| #CALC! | 조건에 맞는 자료가 없음 | 세 번째 인수에 “자료 없음” 입력 |
| #VALUE! | 조건 범위와 데이터 범위의 크기가 맞지 않음 | 행 개수와 범위 확인 |
| #NAME? | 함수 이름 오류 또는 미지원 버전 | 함수 철자와 엑셀 버전 확인 |
| #REF! | 참조하는 통합 문서가 닫혀 있는 등 참조 문제 | 원본 파일과 참조 상태 확인 |
특히 FILTER 함수는 결과가 여러 셀로 자동 확장되는 동적 배열 함수입니다.
따라서 결과가 표시될 영역에 다른 데이터가 있으면 #SPILL! 오류가 발생할 수 있습니다.
또한 병합된 셀이나 엑셀 표 내부에서는 결과가 정상적으로 확장되지 않을 수 있으므로 일반 셀 영역에 수식을 입력하는 것이 좋습니다.
공식 사용법은 마이크로소프트의 FILTER 함수 안내에서 확인할 수 있습니다.
확인하기 : 마이크로소프트 FILTER 함수 공식 설명
11. FILTER 함수 실무 활용 사례
FILTER 함수는 다양한 업무에 활용할 수 있습니다.
| 업무 분야 | 활용 방법 |
|---|---|
| 쇼핑몰 판매관리 | 특정 상품이나 지역의 판매 내역 추출 |
| 고객관리 | 특정 지역 또는 담당자의 고객 목록 추출 |
| 재고관리 | 재고가 기준 수량 이하인 상품 추출 |
| 회계관리 | 일정 금액 이상의 거래 내역 추출 |
| 인사관리 | 특정 부서 또는 근무 형태별 직원 추출 |
| 주문관리 | 배송 대기 또는 취소 주문만 추출 |
예를 들어 쇼핑몰 재고관리표에서 D열이 재고수량이라면 재고가 5개 이하인 상품을 다음과 같이 추출할 수 있습니다.
=FILTER(A2:E100,D2:D100<=5,"해당 상품 없음")
이 수식은 재고수량이 5개 이하인 상품을 자동으로 표시합니다.
단, 재고가 없는 상품도 포함되므로 재고가 1개 이상인 상품만 추출하려면 다음 수식을 사용합니다.
=FILTER(A2:E100,(D2:D100>=1)*(D2:D100<=5),"해당 상품 없음")
이렇게 조건을 구체적으로 설정하면 발주가 필요한 상품을 빠르게 확인할 수 있습니다.
12. FILTER 함수 사용할 때 알아둘 점
FILTER 함수는 조건별 자료 추출에 편리하지만 몇 가지 주의할 점이 있습니다.
첫째, FILTER 함수는 원본 데이터를 직접 수정하지 않습니다. 추출 결과를 변경하더라도 원본 데이터가 자동으로 수정되는 것은 아닙니다.
둘째, 원본 데이터가 추가되면 참조 범위에 포함되는지 확인해야 합니다. 예를 들어 A2으로 지정했다면 101행 이후에 입력한 데이터는 자동으로 포함되지 않습니다.
데이터가 계속 늘어나는 경우에는 원본 범위를 엑셀 표로 변환하고 구조화된 참조를 사용하는 방법이 편리합니다.
셋째, FILTER 함수로 추출한 결과는 동적 배열이므로 결과가 확장될 공간을 확보해야 합니다.
넷째, 다른 엑셀 파일의 데이터를 FILTER 함수로 참조하는 경우 원본 파일을 닫으면 동적 배열 연결이 정상적으로 작동하지 않을 수 있습니다.
13. 마무리
엑셀 FILTER 함수는 복잡한 판매 내역이나 고객 정보에서 원하는 조건의 자료만 자동으로 추출할 수 있는 유용한 기능입니다.
지역별 판매 내역, 매출액 기준 자료, 담당자별 고객 목록처럼 반복해서 확인해야 하는 데이터를 관리할 때 특히 효과적입니다.
여기에 챗GPT를 함께 활용하면 여러 조건이 포함된 수식도 쉽게 작성할 수 있습니다.
처음에는 하나의 조건으로 자료를 추출하는 연습부터 시작하고, 익숙해지면 여러 조건을 조합하거나 SORT 함수와 연결해 보는 것이 좋습니다.
FILTER 함수의 기본 구조와 조건 설정 방법을 익혀두면 반복적인 자료 검색 시간을 줄이고 엑셀 데이터를 더욱 체계적으로 관리할 수 있습니다.
답글 남기기