강좌 > 엑셀중급강좌 > 엑셀 데이터 다루기 > 엑셀 고급필터로 다양하게 자료 필터링하기

엑셀 고급필터로 다양하게 자료 필터링하기

엑셀을 이용하여 전체 자료에서 원하는 자료를 골라내고 싶다면 필터 기능을 이용하면 됩니다.

필터 기능에는 두 가지가 있는데, [데이터] 탭 → [정렬 및 필터] 그룹에서 [필터]와 [고급] 두 가지 메뉴를 확인할 수 있습니다.

엑셀 고급필터

  • [필터] 메뉴 - 일반적으로 가장 많이 사용하는 자동필터 기능
  • [고급] 메뉴 - 다양한 조건으로 데이터를 필터링할 수 있는 고급필터 기능

자동필터 기능은 범위를 선택하고 [필터] 메뉴만 누르면 간단히 각각의 필드별로 조건을 설정하여 필터링할 수 있는 장점이 있지만 'OR'조건(예-소속팀이 회계팀 또는 직위가 차장인)을 설정할 수 없고 필터링 결과를 다른 곳에 추출할 수 없는 등 기능적인 한계가 있습니다.

고급필터 기능을 이용하면 자동필터의 한계를 벗어서 조금 더 복잡하고 다양한 방법으로 데이터를 필터링할 수 있습니다.

※ 자동필터 기능은 다음 링크를 참고하세요.
[엑셀강좌 - 엑셀에서 필터로 원하는 데이터만 보기]

실습용 엑셀파일 다운로드 : 05-12.고급필터-실습.xlsx, 05-12.고급필터-완성.xlsx

 

1. 고급필터 기본 사용법

실습: [현재위치에 필터(본부,직위AND조건)] 시트

다음과 같이 어떤 회사의 인사데이터가 있다고 할 때 고급 필터를 이용해서 필터링해 보겠습니다.

엑셀 고급필터

 

먼저 아래 그림과 같이 고급필터 조건을 적용할 수 있는 조건 범위를 만들어야 합니다.

  • 범위의 위치는 상관없음, 위에 있어도 되고 밑에 있어도 되고 다른 시트에 있어도 됨
  • 범위의 첫행은 필드명이어야 하며 원본데이터 영역의 필드명과 일치해야 함
  • 2번째 행부터는 조회조건값을 입력함

엑셀 고급필터

 

이제 다음과 같은 순서로 고급필터를 사용해보겠습니다.

01 ① 필터링할 데이터 범위의 아무 셀이나 선택하고

엑셀 고급필터 범위 지정

 

②  [데이터] 탭 → [정렬 및 필터] 그룹 → [고급]을 눌러 [고급 필터] 대화상자를 실행합니다.
엑셀 고급필터

 

③ [결과]는 '현재 위치에 필터'를 선택하고 ④ [조건 범위]의 오른쪽의 버튼을 눌러서 조건범위를 지정합니다.

※ 만약 대화상자의 [목록 범위]가 비어 있다면 [목록 범위] 오른쪽의 버튼을 눌러서 필터링할 데이터 범위를 지정합니다.

엑셀 고급필터 범위 지정

 

02 ① 마우스로 조건을 지정한 범위를 지정하면 [고급필터-조건범위] 대화상자에 범위가 입력됩니다.
소속 본부가 '영업본부'이고 직위가 '차장'인 직원만 필터링하는 조건입니다(AND조건으로 필터링).

② 대화상자에 오른쪽 버튼을 누릅니다.

 

03 [고급 필터] 대화상자로 돌아오며 [조건 범위]에 범위가 입력된 것을 확인할 수 있습니다.
③ <확인> 버튼을 누릅니다.

엑셀 고급필터 조건설정

 

04 소속 본부가 '영업본부'이고 직위가 '차장'인 직원의 명단이 필터링 됩니다.

엑셀 고급필터 결과

 

위의 결과는 필터링이 되어 있는 상태입니다. 필터링 결과를 지우려면 다음과 같이 리본메뉴에서 [지우기]를 누르면 됩니다.

엑셀 고급필터 결과 지우기

 

※ 조건 지정 시 AND조건과 OR조건을 설정하는 방법

‘조건을 설정할 범위’의 형태에 따라서 AND조건이 되기도 하고 OR조건이 됩니다.

① 같은 행에 조건값이 있으면 AND 조건
엑셀 고급필터 조건설정
본부=’영업본부’ AND 직위=’차장'(본부가 ‘영업본부’이고 직위가 ‘차장’인)

② 다른 행에 조건값이 있으면 OR조건
엑셀 고급필터 조건설정
본부=’영업본부’ OR 직위=’차장'(본부가 ‘영업본부’ 이거나 직위가 ‘차장’인)

 

 

2. 필터링 결과를 다른 장소에 복사하기

실습: [원본데이터], [원본필터링복사] 시트

이번에는 고급필터 기능에서만 가능한 필터링 결과를 다른 장소(시트 등)에 복사해 보겠습니다.

다음과 같이 원본 데이터가 있는 시트와 필터링된 데이터를 복사하여 붙여넣을 시트가 필요합니다.

[원본데이터] 시트 - 원본 데이터가 있는 시트

엑셀 고급필터 결과를 다른 곳에 복사하기

 

[원본필터링복사] 시트 - 필터링된 데이터를 복사하여 붙여넣을 시트

엑셀 고급필터 결과를 다른 곳에 복사하기

 

01 먼저 '필터링된 데이터를 복사하여 붙여넣을 [원본필터링복사] 시트'를 선택합니다.
※ 원본 데이터가 있는 시트를 선택한 상태에서는 [고급 필터] 버튼을 클릭하면 정상적으로 작동하지 않습니다. 

① [데이터] 탭 → [정렬 및 필터] 그룹 → [고급]을 눌러 [고급 필터] 대화상자를 실행합니다.

② [결과]는 '다른 장소에 복사'를 선택하고 ③ [목록 범위]의 오른쪽의 버튼을 누릅니다.

엑셀 고급필터 결과를 다른 곳에 복사하기

 

02 [원본데이터] 시트 선택 후, ① 마우스로 목록 범위 [$A$1:$G$34]를 선택하고 ② [고급필터 - 목록 범위] 대화상자의 오른쪽 버튼을 눌러 [고급 필터] 대화상자로 돌아옵니다.

엑셀 고급필터 결과를 다른 곳에 복사하기

 

03 ① [조건 범위] 오른쪽 버튼을 눌러 조건 범위를 설정합니다.

엑셀 고급필터 결과를 다른 곳에 복사하기

 

② 마우스로 조건 범위를 지정하면 [고급필터-조건범위] 대화상자에 범위가 입력됩니다.
직위가 '차장'이고 월급여가 6백만원 이상인 직원만 필터링하는 조건입니다.

③ 대화상자 오른쪽 버튼을 누릅니다.

엑셀 고급필터 결과를 다른 곳에 복사하기

 

04 [고급 필터] 대화상자에서 [조건 범위]에 범위가 입력된 것을 확인할 수 있습니다.

① [복사 위치] 입력 필드를 클릭한 후 ② '필터링된 데이터를 복사해서 붙여넣을 위치' [A9] 셀을 지정하고 ③ <확인> 을 누릅니다.

엑셀 고급필터 결과를 다른 곳에 복사하기

 

05 직위가 '차장'이고 월급여가 6백만원 이상인 직원만 필터링된 결과가 붙여넣어졌습니다.

엑셀 고급필터 결과를 다른 곳에 복사하기

※ 주의 - 위의 예는 필터링된 결과가 복사/붙여넣어진 것이므로 결과를 지우고자 할때 [정렬 및 필터] 메뉴의 [지우기] 메뉴로는 지워지지 않습니다. 셀 범위 또는 행을 선택한 후 직접 지워야 합니다. 

엑셀 고급필터 결과 지우기

 

3. 실무 사용 사례

앞에서는 개념이해를 위해 간단한 예만 알아 보았는데 실무에서 자주 사용하는 몇가지 사례를 들어 보겠습니다.

사례 1. 같은 필드를 OR조건으로 필터링

소속 본부가 '생산본부' 또는 '영업본부'인 직원을 필터링합니다.

[현재위치에 필터(본부OR조건)] 시트

엑셀 고급필터 OR조건 설정

 

사례 2. 서로 다른 필드를 OR조건으로 필터링(자동필터로 불가능)

직위가 '부장' 또는 월급여가 500만원 이상인 직원을 필터링합니다.

[현재위치에 필터(직위,월급여OR조건)] 시트

엑셀 고급필터 서로 다른 필드를 OR조건으로 필터링

 

사례 3. 세개의 필드를 OR조건으로 필터링(자동필터로 불가능)

직위가 '부장' 또는 월급여가 600만원에서 700만원 구간에 속한 직원을 필터링합니다.

[현재위치에 필터(직위,월급여구간OR조건)] 시트

엑셀 고급필터 세개의 필드를 OR조건으로 필터링

'급여구간' 조건을 설정하기 위해 '월급여' 필드를 2번 사용했습니다. 고급 필터를 이용하면 이렇게 다양한 방식으로 조건을 설정할 수 있는 장점이 있습니다.

 

 

 


엑셀 수식 강좌 

[ 수식 다루기 ]

[ 엑셀에서 입력과 표시방법 ]

[ 수식에서 셀과 범위 참조 방식 ]

[ 엑셀을 제대로 쓰는 데이터처리 ]

[ 엑셀 이름정의와 표기능 ]

[ 수식을 분석하고 오류 해결하기 ]

 

엑셀웍스 책 출간 안내

그동안 엑셀웍스에 올린 '엑셀 강좌', '함수 사용법', 여러 '실무 예제'에서 핵심만 뽑아 '된다! 엑셀 수식 & 함수' 책으로 출간하였습니다.

 자세히 보기

온라인 구매처: 예스24   교보문고   알라딘 

“엑셀 고급필터로 다양하게 자료 필터링하기”의 2개의 댓글

  1. 양근영

    안녕하세요
    많은 도움 받았습니다 감사합니다.
    그런데 혹시 고급 필터에서 필터링 조건 중 하나로 blank가 아닌 값을 조건으로 설정할 수도 있나요?
    답변 주시면 감사하겠습니다

    1. 안녕하세요.
      조건값을 다음과 같이 입력하면 됩니다. blank(공백)보다 크다는 의미이므로 blank인 것을 제외한 것을 가져옵니다.
      >""

댓글 남기기

Scroll to Top