본문으로 건너뛰기
ArumSoft Learning
EN

    엑셀 고급 필터 사용법

    셀에 적은 조건으로 목록을 필터하고, 여러 열에 걸친 AND와 OR 조건을 조합하고, 결과를 다른 곳에 복사하거나 고유 목록을 뽑아내는 방법을 배워요.

    난이도
    중급
    Time
    10분 분량
    수정:
    적용 대상:
    Microsoft 365용 Excel, Excel 2021, Excel 2019, Excel 2016
    *커피*와 배달 음식을 서로 다른 행에 적었어요. 다섯 행이 조건에 맞고, 합계는 103이에요.
    예시: *커피*와 배달 음식을 서로 다른 행에 적었어요. 다섯 행이 조건에 맞고, 합계는 103이에요.

    배울 내용

    • 목록 위에 조건 범위 만들기
    • 서로 다른 열에 걸친 AND 조건과 OR 조건 조합하기
    • 조건에 맞는 행이나 일부 열만 시트의 다른 곳에 복사하기
    • 동일한 레코드는 하나만 옵션으로 고유한 값 목록 뽑아내기

    고급 필터(Advanced Filter)는 필터 화살표에서 항목을 고르는 대신 셀에 직접 적은 조건으로 목록을 필터해요. 그래서 "동부 주문 또는 1,000이 넘는 모든 주문"처럼 일반 필터로는 표현하기 어려운 조건이 필요할 때, 그리고 조건에 맞는 행을 숨기는 대신 다른 곳에 복사해 두고 싶을 때 유용해요. 한 열에서 고유한 값 목록을 한 번에 뽑아낼 수도 있어요.

    어디에 있나요

    고급은 데이터 탭의 정렬 및 필터 그룹 오른쪽 끝에 있어요.

    목록 안의 셀을 클릭하고 데이터 then 정렬 및 필터 then 고급으로 가세요. 고급 필터 대화 상자가 열려요. Ctrl 바로 가기 키는 없지만, 리본의 키 팁을 이용해 키보드로 열 수 있어요. Alt, A, Q를 차례로 누르세요. 마우스 오른쪽 단추 메뉴에는 이 명령이 없어요.

    목록과 조건 범위 준비하기

    고급 필터에는 두 가지가 필요해요. 머리글 행이 하나 있는 목록, 그리고 조건 범위예요. 조건 범위는 필터할 열의 머리글을 복사해 두고 그 아래에 조건을 적은 범위예요.

    • 같은 행에 있는 조건은 모두 만족해야 해요(AND).
    • 다른 행에 있는 조건은 그중 하나만 만족하면 돼요(OR). 목록의 행이 조건 행 가운데 어느 하나와 맞으면 남아요.

    조건 범위는 목록 위쪽에 두고, 사이에 빈 행을 하나 이상 남겨 두세요. 목록 옆에 두면 현재 위치에서 필터할 때 조건까지 숨겨질 수 있어요. 엑셀은 행 전체를 숨기기 때문이에요.

    1. 필요한 머리글을 복사하세요

      아래 주문 목록에서는 지역과 금액에 조건을 걸어요. A1에 지역, B1에 금액을 입력하세요. 목록의 머리글과 글자 하나까지 똑같아야 해요. 복사해서 붙여넣는 게 가장 안전해요.

    2. 조건을 입력하세요

      동부 주문 또는 1,000이 넘는 주문을 남기려면 조건을 각각 다른 행에 적으세요. A2에 동부, B3에 >1000을 입력해요. B2와 A3은 비워 두세요. 비어 있는 조건 셀은 "어떤 값이든 괜찮다"는 뜻이에요.

      ABCD
      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이 서로 다른 행에 있어서, 목록의 행은 둘 중 하나만 맞아도 남아요.
    3. 고급 필터를 여세요

      A6처럼 목록 안의 아무 셀이나 클릭하고 데이터 then 정렬 및 필터 then 고급으로 가세요. 엑셀이 목록 범위에 목록 전체인 $A$5:$D$12를 채워 넣어요. 머리글 행이 포함되어 있는지 확인하세요.

    4. 조건 범위를 선택하세요

      조건 범위 상자를 클릭하고 시트에서 A1:B3을 선택하세요. 머리글과 조건이 있는 두 행까지만 선택하고, 빈 4행은 넣지 마세요. 현재 위치에 필터가 선택된 그대로 확인을 클릭하세요.

      A1:B3의 조건으로 목록을 현재 위치에서 필터해요.
    5. 결과를 확인하세요

      주문 다섯 건이 남아요. 동부 주문 세 건(6, 8, 10행)과 다른 지역의 1,000이 넘는 주문 두 건(9행 최민수의 1,500, 11행 이준호의 1,100)이에요. 7행과 12행은 지워진 게 아니라 숨겨졌어요.

      ABCD
      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 지우기를 클릭하세요. 고급 필터는 데이터나 조건이 바뀌어도 저절로 다시 적용되지 않아요. 둘 중 하나를 고쳤다면 다시 실행하세요.

    조건에 맞는 행을 다른 곳에 복사하기

    고급 필터는 행을 숨기는 대신 조건에 맞는 행을 다른 곳에 써 줄 수도 있어요. 어떤 열을 어떤 순서로 복사할지도 고를 수 있어요.

    1. 결과에 쓸 머리글을 입력하세요

      빈 곳에 가져올 열의 머리글을 입력하세요. F5에 담당자, G5에 금액을 입력해요. 모든 열을 복사하려면 이 단계를 건너뛰고 셀 하나만 지정해도 돼요.

    2. 다른 장소에 복사를 고르세요

      목록 안을 클릭하고 데이터 then 정렬 및 필터 then 고급을 연 다음, 앞에서처럼 목록 범위와 조건 범위를 확인하고 다른 장소에 복사를 선택하세요. 복사 위치에는 F5:G5를 선택하고 확인을 클릭하세요.

      다른 장소에 복사를 고르고, 복사 위치에는 담당자와 금액 머리글만 지정해요.
      ABCDEFG
      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가 표시되는데, 정상이에요.

    동일한 레코드는 하나만을 체크하면 결과에서 반복되는 행이 빠져요. 현재 위치에서 필터하면 반복되는 행을 숨기고, 다른 장소에 복사와 함께 쓰면 값마다 한 번씩만 들어간 깔끔한 목록을 만들어 줘요. 중복된 항목 제거와 달리 원래 데이터는 그대로 남아요.

    실제 활용 사례

    영업

    고객 목록에서 중복 없이 뽑기

    주문 기록에는 고객이 주문할 때마다 고객 이름이 반복돼요. 우편 발송용으로 고객마다 한 번씩만 들어간 목록이 필요해요.

    ABCD
    1고객금액고객
    2참나무 카페340참나무 카페
    3소나무 서점120소나무 서점
    4참나무 카페410호수 헬스장
    5호수 헬스장95언덕 베이커리
    6소나무 서점260
    7언덕 베이커리180
    8참나무 카페150
    고객 네 명의 주문 일곱 건이에요. D열은 고급 필터로 뽑아낸 고유 목록이에요.

    A1:A8을 선택하고 고급을 연 다음 다른 장소에 복사를 고르세요. 조건 범위는 비워 두고, 복사 위치는 D1로 지정하고, 동일한 레코드는 하나만을 체크하세요. 엑셀이 머리글과 고객 네 곳을 처음 나온 순서대로 적어 줘요. 참나무 카페, 소나무 서점, 호수 헬스장, 언덕 베이커리예요.

    학교

    점수 구간에 드는 학생 찾기

    선생님이 10B반에서 70점 이상 80점 미만인 학생을 찾아 보충 수업을 안내하려고 해요.

    ABC
    1반점수점수
    210B>=70<80
    3
    4학생반점수
    5민서10A82
    6도윤10B74
    7서아10B91
    8하준10A68
    9지우10B77
    10시우10B65
    11하린10A73
    조건 범위에 점수가 두 번 나와서 두 경계를 한 행에 적을 수 있어요. 도윤(74)과 지우(77)가 조건에 맞아요.

    조건 범위는 A1:C2예요. 반 10B, 점수 >=70, 점수 <80이 모두 한 행에 있으니 세 조건을 모두 만족해야 해요. 하린은 73점이지만 10A반이라 빠지고, 서아의 91점은 구간보다 높아요.

    가계부

    커피와 배달 음식에 쓴 돈

    한 달 지출이 한 목록에 있어요. 분류와 상관없이 커피를 산 내역 전부와, 배달 음식 분류의 내역을 모두 보고 싶어요.

    ABC
    1내역분류
    2*커피*
    3배달 음식
    4
    5내역분류금액
    6커피 원두장보기18
    7월세주거950
    8피자 배달배달 음식32
    9아이스 커피외식5
    10버스 정기권교통60
    11초밥배달 음식41
    12커피숍외식7
    *커피*와 배달 음식을 서로 다른 행에 적었어요. 다섯 행이 조건에 맞고, 합계는 103이에요.

    *커피*는 내역에 "커피"가 들어 있는 행을 모두 남기고, 다음 행의 배달 음식은 배달 음식 분류의 행을 더해요. 현재 위치에서 필터한 다음 목록 아래에 =SUBTOTAL(9,C6:C12)를 입력하면 보이는 행만 더해서 103(18 + 32 + 5 + 41 + 7)을 돌려줘요.

    자주 하는 실수

    • 조건 범위에 빈 행 포함하기. 비어 있는 조건 행은 모든 행과 맞기 때문에 목록 전체가 다시 나타나요. 머리글과 조건이 있는 행만 선택하세요.
    • 머리글이 서로 다른 경우. 끝에 공백이 붙은 "금액 "이나 줄여 쓴 "금"은 "금액"과 다른 머리글이라서, 원하는 열에 조건이 적용되지 않아요. 목록의 머리글을 복사해서 쓰세요.
    • 목록 옆에 조건 두기. 현재 위치에서 필터하면 엑셀이 행 전체를 숨기기 때문에, 같은 행에 있는 조건도 사라질 수 있어요. 조건은 목록 위에 두세요.
    • 결과가 저절로 바뀔 거라고 생각하기. 고급 필터는 한 번만 실행돼요. 데이터나 조건을 바꿨다면 다시 실행하세요(계속 바뀌는 결과가 필요하면 FILTER를 쓰세요).
    • 원본 시트에서 다른 시트로 복사하려고 하기. 엑셀은 활성 시트에만 복사해요. 결과를 둘 시트에서 고급 필터를 시작하세요.

    연습

    연습

    주문 목록을 두 가지 방법으로 필터하기

    1. 이 페이지의 주문 목록을 새 시트의 A5부터 입력하고, 조건 범위는 A1:B3에 입력하세요.
    2. 동부 주문이거나 1,000이 넘는 주문만 보이도록 현재 위치에서 필터하세요. 다섯 행이 남는지 확인한 다음 필터를 지우세요.
    3. 두 조건이 모두 2행에 오도록 조건을 바꾸고(동부와 >1000), 빈 행이 들어가지 않게 조건 범위를 A1:B2로 지정하세요. 이제 몇 행이 남나요? (한 행, 김지아의 노트북이에요.)
    4. 조건에 맞는 행의 담당자와 금액 열만 F5에 복사하세요.
    5. 동일한 레코드는 하나만으로 담당자 이름이 한 번씩만 들어간 목록을 빈 열에 복사하세요.

    관련 자료

    도움이 되었나요? 틀린 부분을 발견하셨나요? 피드백 보내기 · admin@arumsoft.com