Epix / 업무자동화

엑셀 FILTER 함수 사용법: 조건 추출·AND·OR·오류 검산

Excel에서 조건에 맞는 행을 원본 시트의 다른 위치에 자동으로 펼쳐 보이려면 FILTER를 사용합니다. 지역이 동부이고 상태가 미결인 주문을 뽑으면 이 글의 10건 예제에서 O-103·O-105·O-106, 3건과 530,000원이 나옵니다. FILTER와 자동 필터의 차이부터 조건식, 날짜 경계, 독립 검산까지 확인하세요.

Excel Microsoft 365·2024·2021 기준 · 공식 Microsoft 도움말 대조: 2026년 10월 10일

조건에 맞는 행을 원본 시트의 다른 위치에 자동으로 펼쳐 보이려면 FILTER를 사용합니다. 예를 들어 주문표에서 지역이 ‘동부’이고 상태가 ‘미결’인 행만 뽑으려면 =FILTER(A2:F11,(C2:C11=H2)*(E2:E11=I2),"일치 행 없음")을 입력합니다. 아래 10건 예제에서는 주문 ID O-103·O-105·O-106, 3건과 530,000원이 나옵니다. 행을 원본에서 잠시 숨기는 자동 필터(AutoFilter)와 달리 FILTER는 조건 결과를 새 범위에 반환합니다.

Excel FILTER 함수가 조건에 맞는 주문 3건을 추출하고 금액 530,000원을 검산하는 예제
원본 데이터는 유지하고, 조건을 바꾸면 추출 결과가 자동으로 다시 계산됩니다.

1. FILTER와 자동 필터 중 필요한 작업을 고르세요

FILTER는 조건에 맞는 행이나 열을 배열로 반환하는 워크시트 함수입니다. 한 셀에 수식을 입력하면 일치한 결과가 이웃 셀로 펼쳐지므로, 보고서의 별도 영역에 실시간 목록을 만들거나 후속 수식의 입력 자료로 쓸 수 있습니다. 원본 행은 삭제되거나 이동하지 않습니다. 조건을 바꾸면 추출 결과가 다시 계산됩니다.

반면 표 머리글의 화살표를 눌러 사용하는 자동 필터(AutoFilter)는 현재 데이터에서 조건에 맞지 않는 행을 화면에서 숨깁니다. 원본 표를 직접 살펴보거나 임시로 몇 개 행만 확인할 때 편리합니다. 둘 다 “필터”라고 부르지만 결과 위치와 사용 목적은 다릅니다.

하려는 일적합한 기능결과 위치·주의점
원본 표에서 일부 행만 잠시 보기데이터 → 필터(AutoFilter)원본 행을 숨겨 표시합니다. 조건을 지우면 다시 보입니다.
다른 영역에 조건 결과를 계속 표시FILTER수식 셀에서 아래·옆으로 펼쳐지는 결과 배열을 만듭니다.
여러 CSV 파일을 결합하고 반복 새로 고침Power Query데이터 가져오기·변환·결합 작업입니다. 단일 범위 추출 수식과는 목적이 다릅니다.
필터에 남은 행의 합계만 계산SUBTOTAL숨김·필터 상태에 따른 집계는 SUM과 SUBTOTAL 9·109 비교를 확인합니다.

이 글은 표 안의 데이터를 바꾸지 않고 수식으로 추출하는 방법에 집중합니다. 자동 필터에서 일부 행이나 값이 사라져 보이는 문제라면 Excel 필터에서 일부 행이 안 보일 때의 진단 순서가 맞는 안내입니다.

2. 예제 데이터를 붙여 넣고 셀 위치를 맞추세요

새 워크시트의 A1부터 아래 표를 입력합니다. 주문 ID와 지역·상품·상태는 가상 데이터이며, 날짜는 2026년 2~3월 주문을 구분하기 위한 예제입니다. 표의 범위는 머리글 한 줄과 데이터 열 여섯 개, 주문 10건입니다.

주문 ID주문일지역상품상태금액
O-1012026-02-01 09:10동부커피완료240,000
O-1022026-02-03서부차미결120,000
O-1032026-02-11동부차미결180,000
O-1042026-02-15북부커피완료300,000
O-1052026-02-28 16:30동부커피미결150,000
O-1062026-03-01 00:00동부커피미결200,000
O-1072026-03-04남부차완료90,000
O-1082026-03-08동부커피완료210,000
O-1092026-03-20서부커피미결160,000
O-1102026-03-31 18:00남부커피미결130,000
  1. 날짜가 날짜값인지 확인합니다. 날짜 셀을 선택했을 때 숫자처럼 보이면 셀 서식을 날짜·시간으로 바꿔 표시할 수 있지만, 서식만 바꾼 텍스트 날짜가 자동으로 날짜값이 되지는 않습니다. 날짜 기준 FILTER가 기대대로 작동하지 않으면 먼저 원본 값을 확인하세요.
  2. 추출 영역을 비웁니다. 예제에서 수식은 H5에 넣고 결과가 H:M 방향과 아래 행으로 펼쳐집니다. 그 위치에 메모나 다른 값이 있으면 결과가 막힐 수 있습니다.
  3. 조건 셀을 준비합니다. H2에 동부, I2에 미결을 입력합니다. 조건 셀은 추출이 펼쳐지는 H5:M 영역과 겹치지 않게 둡니다.

표를 직접 붙여 넣으면 날짜가 텍스트로 들어오는 경우도 있습니다. 날짜 조건을 이용하기 전에 정렬 순서와 날짜 표시를 함께 확인하고, 예상되는 날짜값을 다른 셀에 입력해 실제 날짜와 비교해 보세요. 날짜가 텍스트로 저장된 문제는 Excel 날짜가 텍스트로 인식될 때의 변환·검산 안내에 별도로 정리했습니다.

3. 조건 하나로 일치하는 행을 모두 추출하세요

지역이 동부인 주문만 가져오려면 결과를 표시할 빈 셀에 다음 수식을 입력합니다.

=FILTER(A2:F11,C2:C11=H2,"일치 행 없음")

구조는 FILTER(array,include,[if_empty])입니다. 첫 번째 인수는 반환할 전체 행, 두 번째는 각 행이 조건에 맞는지 판단할 논리값, 마지막은 일치 행이 하나도 없을 때 표시할 대체값입니다. 조건 범위 C2:C11는 10개 데이터 행이고 반환 범위 A2:F11도 같은 10개 행을 포함해야 합니다. 머리글 범위인 A1:F1은 포함 조건의 데이터 범위에 섞지 않습니다.

이 예제는 동부 주문 5건 O-101·O-103·O-105·O-106·O-108을 반환합니다. 주문 ID를 비교하면 조건이 올바른 행을 잡았는지 금방 확인할 수 있습니다. 지역 조건을 H2 셀에 두었으므로 값을 서부나 남부로 바꾸면 같은 수식의 결과가 바뀝니다. 수식을 지역마다 여러 개 복사하지 않아도 됩니다.

한 열만 반환하고 싶으면 배열 인수를 해당 열로 제한할 수 있습니다. 예를 들어 주문 ID만 뽑으려면 =FILTER(A2:A11,C2:C11=H2,"일치 행 없음")처럼 씁니다. 이때 include 범위의 높이와 반환 범위의 높이는 계속 같아야 합니다. 일치 행의 순서는 원본에서 나타난 순서를 유지합니다. 다른 순서가 필요하면 FILTER 결과를 만든 뒤 별도의 정렬 수식으로 다룹니다.

4. AND는 곱하기, OR는 더하기로 배열 조건을 만드세요

지역이 동부이고 상태가 미결인 주문처럼 모든 조건을 만족해야 한다면 조건 배열 사이에 곱셈 기호 *를 둡니다.

=FILTER(A2:F11,(C2:C11=H2)*(E2:E11=I2),"일치 행 없음")

H2=동부, I2=미결일 때 각 행의 두 비교가 모두 TRUE여야 남습니다. 결과는 O-103 180,000원, O-105 150,000원, O-106 200,000원으로 총 3건·530,000원입니다. 곱셈은 행별 참/거짓 조건을 AND처럼 결합합니다. 각 조건을 괄호로 감싸야 비교 계산과 산술 결합 순서가 명확합니다.

반대로 지역이 동부 또는 서부이고 상품은 커피인 행을 찾는다면 OR 조건을 더하기 기호 +로 결합합니다.

=FILTER(A2:F11,((C2:C11=H2)+(C2:C11=I2))*(D2:D11=J2),"일치 행 없음")

H2=동부, I2=서부, J2=커피로 두면 O-101·O-105·O-106·O-108·O-109, 5건이 나옵니다. 이 예제 합계는 960,000원입니다. 더하기는 해당 비교 중 하나 이상이 참인 행을 포함합니다. 다른 조건과 함께 쓰면 괄호 단위로 OR 묶음을 만든 다음 곱해 전체 AND 조건에 연결합니다.

배열 조건에서는 AND(범위=조건,범위=조건)나 OR(…)를 먼저 넣지 마세요. 이 함수는 여러 행의 비교 결과를 행별로 곱하거나 더하는 표현과 다르게, 조건 결과를 단일 TRUE/FALSE로 축약할 수 있습니다. FILTER의 include 인수에는 반환 데이터와 같은 높이의 논리 배열을 전달해야 합니다. 두 조건을 차례로 검사할 때는 위처럼 *와 +를 사용하세요.

두 지역 중 어느 쪽이든 한 지역만 한 행에 들어간 예제에서는 OR 덧셈 결과가 1입니다. 조건들이 서로 겹치는 경우에도 2처럼 0이 아닌 값은 참으로 취급되어 결과 행이 두 번 복제되지는 않습니다. 다만 “두 조건 중 하나만 참이어야 함” 같은 배타적 OR가 목적이라면 덧셈만으로는 표현하지 않습니다. 해당 조건을 먼저 명확히 정의하고 별도의 논리식을 만들어야 합니다.

5. 월 단위 날짜는 시작일 이상·다음 달 시작일 미만으로 지정하세요

2월 날짜를 추출할 때 종료 기준을 “2월 28일 이하”로 잡으면 시간값이 붙은 2월 28일 오후 기록이 제외될 수 있습니다. 종료일을 포함하는 비교 대신, 2월 1일 이상이고 3월 1일보다 빠른 조건을 사용하면 날짜와 시간이 함께 들어 있어도 2월 전체가 들어옵니다.

=FILTER(A2:F11,(B2:B11>=DATE(2026,2,1))*(B2:B11<DATE(2026,3,1)),"2월 주문 없음")

이 예제에서는 O-101부터 O-105까지 5건이 반환되고 총액은 990,000원입니다. 특히 O-105의 2월 28일 16:30은 포함되고 O-106의 3월 1일 00:00은 제외됩니다. 월말이나 윤년 날짜를 직접 적어 비교하는 대신 DATE로 경계 날짜를 만들면 월별 보고서에서 마지막 날짜를 빠뜨리는 실수를 줄일 수 있습니다.

날짜가 H2에 있고 다음 달 날짜가 I2에 있다면 상수 대신 B2:B11>=H2 및 B2:B11<I2를 조건으로 쓸 수 있습니다. H2는 해당 월의 1일, I2는 다음 달의 1일이어야 합니다. 보고서에서 종료일을 마지막 날 23:59로 입력하는 방법은 시간 정밀도와 데이터 형식에 따라 누락이 생길 수 있으므로, 다음 기간 경계를 미만 조건으로 쓰는 편이 검산하기 쉽습니다.

6. 원본은 Excel 표로 만들고 추출 수식은 표 바깥에 두세요

고정 주소 A2:F11는 아래에 행을 추가해도 범위가 늘지 않습니다. 주문 데이터 안을 클릭한 다음 삽입 → 표를 선택하고 머리글 포함을 확인하면 행이 늘어날 때 관리하기 쉬운 Excel 표를 만들 수 있습니다. 표 이름을 Orders로 정했을 때 동부·미결 주문을 뽑는 구조적 참조 수식은 다음과 같습니다.

=FILTER(Orders,(Orders[지역]=H2)*(Orders[상태]=I2),"일치 행 없음")

표 이름과 열 이름을 참조하면 새 주문 행을 추가하거나 제거할 때 원본 참조를 조정하기 쉽습니다. FILTER 결과가 나오는 위치는 원본 표의 바깥 셀로 정합니다. FILTER 결과 배열을 표 안에 입력하지 마세요. 동적 배열 수식은 Excel 표 안에서 펼쳐지지 않으므로, 표 오른쪽 또는 별도의 보고서 시트에 충분히 비어 있는 영역을 두고 수식을 넣습니다.

수식 셀은 배열 결과의 왼쪽 위 시작점입니다. 펼쳐진 결과의 중간 셀에 내용을 입력하거나 편집할 수 없습니다. 조건에 맞는 행이 늘어나면 결과도 아래쪽으로 커지므로 그 자리에 합계 수식·설명·다른 표를 두지 마세요. 요약은 FILTER 결과가 놓이는 영역 밖이나 별도 요약 칸에 둡니다.

다른 통합 문서에 있는 원본 표를 참조할 수도 있지만, Microsoft는 통합 문서 간 동적 배열 지원에 제한이 있다고 안내합니다. 원본 통합 문서를 닫은 뒤 새로 고칠 때 링크 배열이 #REF!로 바뀔 수 있으므로, 작업 파일을 배포할 때는 같은 통합 문서에 원본 자료를 두거나 최종 결과를 값으로 고정하는 방식을 검토하세요.

7. 결과 없음은 if_empty로, 막힘은 #SPILL!로 구분하세요

조건에 맞는 행이 하나도 없을 가능성이 있으면 세 번째 인수 [if_empty]를 넣습니다. 동부에 제주 지점을 추가했지만 데이터가 없을 수 있다면 다음과 같이 메시지를 지정합니다.

=FILTER(A2:F11,(C2:C11=H2)*(E2:E11=I2),"일치 행 없음")

조건에 맞는 주문이 없으면 수식 시작 셀에 일치 행 없음이 표시됩니다. 세 번째 인수를 생략한 채 결과 배열이 비어 있으면 Excel은 #CALC! 오류를 반환합니다. 정상적인 “0건”을 오류와 구별할 문구를 넣어 두면 파일을 다른 사람에게 전달할 때 상태를 이해하기 쉽습니다. 반대로 if_empty 문구가 나오면 데이터 범위와 조건값도 대조해, 단순히 결과가 없었던 것인지 오타·자료형 문제인지 확인하세요.

#SPILL!은 결과가 없다는 뜻이 아닙니다. 반환할 행은 있지만 펼칠 셀에 기존 값, 다른 수식, 병합 셀 등 방해물이 있을 때 나타날 수 있습니다. 수식의 점선으로 표시된 출력 범위를 확인하고, 필요한 데이터를 보존한 뒤 다른 빈 영역으로 수식을 옮기거나 충돌 원인을 정리합니다. 구체적인 차단 셀 진단은 Excel #SPILL! 오류의 범위·표·병합 셀 진단을 참고하세요.

조건 범위와 반환 범위는 같은 데이터 행을 가리켜야 합니다. 예를 들어 A2:F11은 10행인데 상태 조건을 E2:E10으로 적으면 마지막 주문을 검사하지 못합니다. include 인수 안의 셀에 오류가 있거나 TRUE/FALSE로 평가할 수 없는 값이 있으면 FILTER도 오류를 반환할 수 있으니, 조건에 사용한 열의 오류와 데이터 형식을 먼저 확인합니다. 오류를 전부 IFERROR로 가리면 실제 범위 문제까지 빈 결과로 보이게 만들 수 있으므로, 원인별로 확인한 뒤 필요한 대체값만 지정하세요.

8. ID·건수·합계를 수식 결과와 독립적으로 검산하세요

수식이 오류 없이 결과를 반환하는 것만으로는 원하는 행을 모두 찾았다고 보장할 수 없습니다. 먼저 추출된 주문 ID를 손으로 조건과 대조하고, 건수와 금액은 별도 집계 함수로 비교합니다. H2에 동부, I2에 미결을 둔 예제에서 다음 수식은 원본의 조건 일치 건수와 금액을 계산합니다.

=COUNTIFS(C2:C11,H2,E2:E11,I2)
=SUMIFS(F2:F11,C2:C11,H2,E2:E11,I2)

예상 결과는 각각 3건과 530,000원입니다. FILTER 출력 건수와 COUNTIFS, 금액 합계와 SUMIFS가 다르면 지역·상태 조건이 맞는지, 배열과 조건 범위 행 수가 같은지, 금액이 숫자로 저장됐는지 확인합니다. COUNTIFS와 SUMIFS도 동일한 기준 범위를 사용하므로 필터 결과를 점검하는 간단한 독립 교차 확인으로 쓸 수 있습니다.

2월 주문의 건수와 총액을 검산할 때는 같은 날짜 경계를 사용합니다.

=COUNTIFS(B2:B11,">="&DATE(2026,2,1),B2:B11,"<"&DATE(2026,3,1))
=SUMIFS(F2:F11,B2:B11,">="&DATE(2026,2,1),B2:B11,"<"&DATE(2026,3,1))

2월은 5건·990,000원이어야 합니다. 임의로 행을 수정했다면 기대 ID와 합계도 함께 다시 계산하세요. 검산 기준이 없는 채 “보기에는 맞아 보인다”는 이유로 원본 보고서에 복사하지 않습니다. 특히 주문, 비용, 지급 목록은 데이터가 추가·삭제된 뒤 조건별 건수와 총액을 다시 맞춰 보세요.

9. FILTER 결과가 기대와 다를 때 증상별로 확인하세요

증상우선 확인다음 조치
#NAME? 또는 함수 이름을 못 찾음Excel 버전·업데이트 채널, 함수 철자, 수식 언어Microsoft 지원 적용 대상은 Microsoft 365·Excel 2024·Excel 2021 등을 안내합니다. 2019·2016을 포함해 받는 사람 버전에서 열 수 있는지 확인하고, 아니면 AutoFilter나 Power Query를 선택합니다.
#CALC!실제로 일치 행이 0건인지, 세 번째 인수가 빠졌는지조건값을 원본과 대조하고 if_empty에 “일치 행 없음” 같은 설명을 지정합니다.
#SPILL!결과가 펼쳐질 아래·오른쪽 셀에 값, 수식, 병합 영역이 있는지기존 데이터를 보존하며 빈 영역을 확보합니다. FILTER를 표 바깥에 둡니다.
일부 행만 나오거나 마지막 데이터가 빠짐array와 include의 시작·끝 행, 표 바깥에 새 데이터가 있는지Excel 표의 구조적 참조로 전환하고, COUNTIFS·기대 ID와 비교합니다.
조건이 맞는데 결과가 적거나 0건앞뒤 공백, 철자·자료형, 텍스트 날짜와 실제 날짜, 상태값의 표기 차이원본 한 셀을 수식 입력줄에서 확인하고, 조건값과 일치시킵니다. 데이터 정리를 먼저 하고 결과를 재검산합니다.
수식 입력 때 구분자 오류Excel 환경에서 인수 구분자로 쓰는 쉼표·세미콜론수식 입력줄에 이미 작동하는 수식의 구분자 방식을 확인합니다. 오류 메시지를 없애려고 조건 범위를 임의로 수정하지 않습니다.

FILTER 함수가 지원되지 않는 구버전에서 FILTER라는 이름을 직접 대체하는 단일 함수는 없습니다. 원본에서 임시 조건을 확인하는 작업이라면 AutoFilter를 사용하고, 매번 갱신할 가져오기·결합 흐름이라면 Power Query를 검토합니다. 여러 조건 결과를 동적 목록으로 자동 반환해야 한다면 수신자가 열 Excel 버전을 먼저 확인한 뒤 공유 파일에 넣습니다. 수식 하나를 바꿔도 동적 배열 함수를 지원하지 않는 환경에서 결과가 똑같이 표시된다고 가정해서는 안 됩니다.

10. 자주 묻는 질문

FILTER와 자동 필터(AutoFilter)는 어떻게 다른가요?

자동 필터는 현재 표에서 조건과 맞지 않는 행을 숨깁니다. FILTER 함수는 조건 행을 수식 셀 주변의 별도 영역에 반환합니다. 원본 표를 잠시 걸러 볼 때는 자동 필터, 조건별 결과표를 계속 만들어 둘 때는 FILTER가 적합합니다.

여러 조건을 동시에 적용하려면 어떻게 하나요?

모두 충족해야 하는 AND 조건은 각 조건식 사이에 *, 하나 이상 맞으면 되는 OR 조건은 +를 사용합니다. 여러 조건을 묶을 때는 괄호를 넣고, 행마다 결과를 내는 논리 배열의 범위 높이를 반환 데이터와 맞춥니다.

결과가 없으면 빈칸으로 보이게 할 수 있나요?

세 번째 인수를 빈 텍스트 ""로 지정할 수 있습니다. 다만 빈칸은 오류 상태와 구분하기 어려우므로 사람이 보는 보고서에는 "일치 행 없음" 같은 안내가 더 분명합니다. 후속 계산이 필요하면 0건인지 별도 COUNTIFS로 확인하세요.

Excel 2019에서도 FILTER를 쓸 수 있나요?

Microsoft FILTER 함수 도움말의 적용 대상에는 Microsoft 365, Excel 2024와 2021 등이 기재되어 있습니다. Excel 2019·2016은 그 목록에 포함되지 않으므로 기능을 쓸 수 있다고 가정하지 말고, 파일을 실제로 여는 Excel 버전에서 테스트하세요. 호환이 필요하면 임시 행 표시에는 AutoFilter, 반복 데이터 가져오기에는 Power Query가 대안이 될 수 있습니다.

FILTER 수식을 Excel 표 안에 넣어도 되나요?

아니요. FILTER의 동적 배열 결과가 표 안에서 펼쳐지지 않으므로 결과 수식은 표 밖의 빈 셀이나 별도 시트에 둡니다. 원본 표를 가리키는 구조적 참조는 수식에 사용할 수 있습니다.

결과 범위에 있는 셀을 하나씩 수정하려면 어떻게 하나요?

동적 배열은 시작점 셀 하나가 결과 전체를 관리합니다. 펼쳐진 영역의 개별 값을 편집하는 대신 원본 데이터나 조건 셀을 수정하세요. 결과를 정적인 사본으로 만들어 개별 편집해야 한다면 복사 후 값 붙여넣기를 사용하고, 그 뒤 원본 조건과 자동 갱신되지 않는다는 점을 기록합니다.

Microsoft 공식 자료

메뉴와 함수 지원 범위는 Excel 제품·버전·업데이트 채널에 따라 달라질 수 있습니다. 이 글의 주문 자료는 기능 설명을 위한 합성 예제이며 실제 거래 자료가 아닙니다. 실제 보고서에 적용하기 전에는 기대 ID, 건수, 합계를 원본 자료와 대조하세요.