엑셀 고급 필터 사용법
셀에 적은 조건으로 목록을 필터하고, 여러 열에 걸친 AND와 OR 조건을 조합하고, 결과를 다른 곳에 복사하거나 고유 목록을 뽑아내는 방법을 배워요.
- 난이도
- 중급
- Time
- 10분 분량
- 수정:
- 적용 대상:
- Microsoft 365용 Excel, Excel 2021, Excel 2019, Excel 2016

배울 내용
- 목록 위에 조건 범위 만들기
- 서로 다른 열에 걸친 AND 조건과 OR 조건 조합하기
- 조건에 맞는 행이나 일부 열만 시트의 다른 곳에 복사하기
- 동일한 레코드는 하나만 옵션으로 고유한 값 목록 뽑아내기
시작하기 전에
고급 필터(Advanced Filter)는 필터 화살표에서 항목을 고르는 대신 셀에 직접 적은 조건으로 목록을 필터해요. 그래서 "동부 주문 또는 1,000이 넘는 모든 주문"처럼 일반 필터로는 표현하기 어려운 조건이 필요할 때, 그리고 조건에 맞는 행을 숨기는 대신 다른 곳에 복사해 두고 싶을 때 유용해요. 한 열에서 고유한 값 목록을 한 번에 뽑아낼 수도 있어요.
어디에 있나요
목록 안의 셀을 클릭하고 데이터 then 정렬 및 필터 then 고급으로 가세요. 고급 필터 대화 상자가 열려요. Ctrl 바로 가기 키는 없지만, 리본의 키 팁을 이용해 키보드로 열 수 있어요. Alt, A, Q를 차례로 누르세요. 마우스 오른쪽 단추 메뉴에는 이 명령이 없어요.
목록과 조건 범위 준비하기
고급 필터에는 두 가지가 필요해요. 머리글 행이 하나 있는 목록, 그리고 조건 범위예요. 조건 범위는 필터할 열의 머리글을 복사해 두고 그 아래에 조건을 적은 범위예요.
- 같은 행에 있는 조건은 모두 만족해야 해요(AND).
- 다른 행에 있는 조건은 그중 하나만 만족하면 돼요(OR). 목록의 행이 조건 행 가운데 어느 하나와 맞으면 남아요.
조건 범위는 목록 위쪽에 두고, 사이에 빈 행을 하나 이상 남겨 두세요. 목록 옆에 두면 현재 위치에서 필터할 때 조건까지 숨겨질 수 있어요. 엑셀은 행 전체를 숨기기 때문이에요.
필요한 머리글을 복사하세요
아래 주문 목록에서는 지역과 금액에 조건을 걸어요. A1에
지역, B1에금액을 입력하세요. 목록의 머리글과 글자 하나까지 똑같아야 해요. 복사해서 붙여넣는 게 가장 안전해요.조건을 입력하세요
동부 주문 또는 1,000이 넘는 주문을 남기려면 조건을 각각 다른 행에 적으세요. A2에
동부, B3에>1000을 입력해요. B2와 A3은 비워 두세요. 비어 있는 조건 셀은 "어떤 값이든 괜찮다"는 뜻이에요.A B C D 1 지역 금액 2 동부 3 >1000 4 5 담당자 지역 제품 금액 6 김지아 동부 노트북 1,200 7 이준호 서부 모니터 300 8 박서연 동부 모니터 450 9 최민수 북부 노트북 1,500 10 김지아 동부 키보드 80 11 이준호 서부 노트북 1,100 12 박서연 북부 키보드 60 목록 위에 있는 조건 범위 A1:B3이에요. 2행의 동부와 3행의 >1000이 서로 다른 행에 있어서, 목록의 행은 둘 중 하나만 맞아도 남아요. 고급 필터를 여세요
A6처럼 목록 안의 아무 셀이나 클릭하고 데이터 then 정렬 및 필터 then 고급으로 가세요. 엑셀이 목록 범위에 목록 전체인
$A$5:$D$12를 채워 넣어요. 머리글 행이 포함되어 있는지 확인하세요.조건 범위를 선택하세요
조건 범위 상자를 클릭하고 시트에서 A1:B3을 선택하세요. 머리글과 조건이 있는 두 행까지만 선택하고, 빈 4행은 넣지 마세요. 현재 위치에 필터가 선택된 그대로 확인을 클릭하세요.
A1:B3의 조건으로 목록을 현재 위치에서 필터해요. 결과를 확인하세요
주문 다섯 건이 남아요. 동부 주문 세 건(6, 8, 10행)과 다른 지역의 1,000이 넘는 주문 두 건(9행 최민수의 1,500, 11행 이준호의 1,100)이에요. 7행과 12행은 지워진 게 아니라 숨겨졌어요.
A B C D 1 지역 금액 2 동부 3 >1000 4 5 담당자 지역 제품 금액 6 김지아 동부 노트북 1,200 7 이준호 서부 모니터 300 8 박서연 동부 모니터 450 9 최민수 북부 노트북 1,500 10 김지아 동부 키보드 80 11 이준호 서부 노트북 1,100 12 박서연 북부 키보드 60 6행과 8~11행은 동부이거나 1,000보다 커서 그대로 보여요. 7행(서부, 300)과 12행(북부, 60)은 숨겨져요.
모든 행을 다시 보려면 데이터 then 정렬 및 필터 then 지우기를 클릭하세요. 고급 필터는 데이터나 조건이 바뀌어도 저절로 다시 적용되지 않아요. 둘 중 하나를 고쳤다면 다시 실행하세요.
조건에 맞는 행을 다른 곳에 복사하기
고급 필터는 행을 숨기는 대신 조건에 맞는 행을 다른 곳에 써 줄 수도 있어요. 어떤 열을 어떤 순서로 복사할지도 고를 수 있어요.
결과에 쓸 머리글을 입력하세요
빈 곳에 가져올 열의 머리글을 입력하세요. F5에
담당자, G5에금액을 입력해요. 모든 열을 복사하려면 이 단계를 건너뛰고 셀 하나만 지정해도 돼요.다른 장소에 복사를 고르세요
목록 안을 클릭하고 데이터 then 정렬 및 필터 then 고급을 연 다음, 앞에서처럼 목록 범위와 조건 범위를 확인하고 다른 장소에 복사를 선택하세요. 복사 위치에는 F5:G5를 선택하고 확인을 클릭하세요.
다른 장소에 복사를 고르고, 복사 위치에는 담당자와 금액 머리글만 지정해요. A B C D E F G 1 지역 금액 2 동부 3 >1000 4 5 담당자 지역 제품 금액 담당자 금액 6 김지아 동부 노트북 1,200 김지아 1,200 7 이준호 서부 모니터 300 박서연 450 8 박서연 동부 모니터 450 최민수 1,500 9 최민수 북부 노트북 1,500 김지아 80 10 김지아 동부 키보드 80 이준호 1,100 11 이준호 서부 노트북 1,100 12 박서연 북부 키보드 60 조건에 맞는 주문 다섯 건이 담당자와 금액 열만 F5:G10에 복사됐어요. 원래 목록은 그대로예요.
결과는 아무것도 덮어쓰지 않도록 빈 곳에 두세요. 복사된 결과는 그 순간의 사본이라서 목록이 바뀌어도 따라 바뀌지 않아요.
엑셀은 결과를 현재 활성 시트에만 복사할 수 있어요. 다른 시트에 결과를 두려면 먼저 그 시트로 가서 고급 필터를 실행하고, 목록 범위와 조건 범위를 원래 시트에서 지정하세요.
조건 작성법
| 조건 셀에 입력할 내용 | 남는 행 |
|---|---|
동부 | 그 열의 값이 동부로 시작하는 행(동부, 동부권) |
="=동부" | 그 열의 값이 정확히 동부인 행 |
*북* | 그 열의 값 어딘가에 "북"이 들어 있는 행(노트북, 북부) |
?부 | 그 열의 값이 아무 글자 하나 다음에 "부"가 오는 것으로 시작하는 행(동부, 서부, 동부권) |
>1000 | 그 열의 값이 1,000보다 큰 행 |
<>서부 | 그 열의 값이 서부가 아닌 모든 행 |
텍스트 조건은 대소문자를 구분하지 않아요. 한 열에 범위를 지정하려면, 예를 들어 70점 이상 80점 미만이라면, 조건 범위에 머리글을 두 번(점수, 점수) 적고 >=70과 <80을 같은 행에 나란히 입력하세요.
TRUE나 FALSE를 돌려주는 수식으로 필터할 수도 있어요. 수식 위의 머리글 셀은 비워 두거나 목록의 머리글과 다른 이름을 쓰고, 수식은 첫 번째 데이터 행을 기준으로 상대 참조를 써서 작성하세요. 예를 들어 주문 목록에서 =D6>AVERAGE($D$6:$D$12)는 평균 670보다 큰 주문인 6, 9, 11행을 남겨요. 조건 셀 자체에는 TRUE나 FALSE가 표시되는데, 정상이에요.
동일한 레코드는 하나만을 체크하면 결과에서 반복되는 행이 빠져요. 현재 위치에서 필터하면 반복되는 행을 숨기고, 다른 장소에 복사와 함께 쓰면 값마다 한 번씩만 들어간 깔끔한 목록을 만들어 줘요. 중복된 항목 제거와 달리 원래 데이터는 그대로 남아요.
실제 활용 사례
고객 목록에서 중복 없이 뽑기
주문 기록에는 고객이 주문할 때마다 고객 이름이 반복돼요. 우편 발송용으로 고객마다 한 번씩만 들어간 목록이 필요해요.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 고객 | 금액 | 고객 | |
| 2 | 참나무 카페 | 340 | 참나무 카페 | |
| 3 | 소나무 서점 | 120 | 소나무 서점 | |
| 4 | 참나무 카페 | 410 | 호수 헬스장 | |
| 5 | 호수 헬스장 | 95 | 언덕 베이커리 | |
| 6 | 소나무 서점 | 260 | ||
| 7 | 언덕 베이커리 | 180 | ||
| 8 | 참나무 카페 | 150 |
A1:A8을 선택하고 고급을 연 다음 다른 장소에 복사를 고르세요. 조건 범위는 비워 두고, 복사 위치는 D1로 지정하고, 동일한 레코드는 하나만을 체크하세요. 엑셀이 머리글과 고객 네 곳을 처음 나온 순서대로 적어 줘요. 참나무 카페, 소나무 서점, 호수 헬스장, 언덕 베이커리예요.
점수 구간에 드는 학생 찾기
선생님이 10B반에서 70점 이상 80점 미만인 학생을 찾아 보충 수업을 안내하려고 해요.
| A | B | C | |
|---|---|---|---|
| 1 | 반 | 점수 | 점수 |
| 2 | 10B | >=70 | <80 |
| 3 | |||
| 4 | 학생 | 반 | 점수 |
| 5 | 민서 | 10A | 82 |
| 6 | 도윤 | 10B | 74 |
| 7 | 서아 | 10B | 91 |
| 8 | 하준 | 10A | 68 |
| 9 | 지우 | 10B | 77 |
| 10 | 시우 | 10B | 65 |
| 11 | 하린 | 10A | 73 |
조건 범위는 A1:C2예요. 반 10B, 점수 >=70, 점수 <80이 모두 한 행에 있으니 세 조건을 모두 만족해야 해요. 하린은 73점이지만 10A반이라 빠지고, 서아의 91점은 구간보다 높아요.
커피와 배달 음식에 쓴 돈
한 달 지출이 한 목록에 있어요. 분류와 상관없이 커피를 산 내역 전부와, 배달 음식 분류의 내역을 모두 보고 싶어요.
| A | B | C | |
|---|---|---|---|
| 1 | 내역 | 분류 | |
| 2 | *커피* | ||
| 3 | 배달 음식 | ||
| 4 | |||
| 5 | 내역 | 분류 | 금액 |
| 6 | 커피 원두 | 장보기 | 18 |
| 7 | 월세 | 주거 | 950 |
| 8 | 피자 배달 | 배달 음식 | 32 |
| 9 | 아이스 커피 | 외식 | 5 |
| 10 | 버스 정기권 | 교통 | 60 |
| 11 | 초밥 | 배달 음식 | 41 |
| 12 | 커피숍 | 외식 | 7 |
*커피*는 내역에 "커피"가 들어 있는 행을 모두 남기고, 다음 행의 배달 음식은 배달 음식 분류의 행을 더해요. 현재 위치에서 필터한 다음 목록 아래에 =SUBTOTAL(9,C6:C12)를 입력하면 보이는 행만 더해서 103(18 + 32 + 5 + 41 + 7)을 돌려줘요.
자주 하는 실수
- 조건 범위에 빈 행 포함하기. 비어 있는 조건 행은 모든 행과 맞기 때문에 목록 전체가 다시 나타나요. 머리글과 조건이 있는 행만 선택하세요.
- 머리글이 서로 다른 경우. 끝에 공백이 붙은 "금액 "이나 줄여 쓴 "금"은 "금액"과 다른 머리글이라서, 원하는 열에 조건이 적용되지 않아요. 목록의 머리글을 복사해서 쓰세요.
- 목록 옆에 조건 두기. 현재 위치에서 필터하면 엑셀이 행 전체를 숨기기 때문에, 같은 행에 있는 조건도 사라질 수 있어요. 조건은 목록 위에 두세요.
- 결과가 저절로 바뀔 거라고 생각하기. 고급 필터는 한 번만 실행돼요. 데이터나 조건을 바꿨다면 다시 실행하세요(계속 바뀌는 결과가 필요하면
FILTER를 쓰세요). - 원본 시트에서 다른 시트로 복사하려고 하기. 엑셀은 활성 시트에만 복사해요. 결과를 둘 시트에서 고급 필터를 시작하세요.
연습
연습
주문 목록을 두 가지 방법으로 필터하기
- 이 페이지의 주문 목록을 새 시트의 A5부터 입력하고, 조건 범위는 A1:B3에 입력하세요.
- 동부 주문이거나 1,000이 넘는 주문만 보이도록 현재 위치에서 필터하세요. 다섯 행이 남는지 확인한 다음 필터를 지우세요.
- 두 조건이 모두 2행에 오도록 조건을 바꾸고(
동부와>1000), 빈 행이 들어가지 않게 조건 범위를 A1:B2로 지정하세요. 이제 몇 행이 남나요? (한 행, 김지아의 노트북이에요.) - 조건에 맞는 행의 담당자와 금액 열만 F5에 복사하세요.
- 동일한 레코드는 하나만으로 담당자 이름이 한 번씩만 들어간 목록을 빈 열에 복사하세요.
관련 자료
도움이 되었나요? 틀린 부분을 발견하셨나요? 피드백 보내기 · admin@arumsoft.com