Home > 강좌 > 엑셀수식강좌 > 04. 엑셀을 제대로 쓰는 데이터처리 > 엑셀 고급필터로 복잡한 조건 필터링

엑셀 고급필터로 복잡한 조건 필터링

  • by

엑셀을 이용하여 전체 자료에서 원하는 자료를 골라 낼때 필터 기능을 이용하게 되는데  필터기능은 2가지가 있습니다.

리본메뉴에서 [데이터] 탭 → [정렬 및 필터] 그룹으로 이동하면 [필터] 메뉴와 [고급] 메뉴 2가지를 확인할 수 있습니다.

엑셀 고급필터

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

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

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

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

실습용 엑셀파일 다운로드 : 데이터처리-필터.xlsx

 

1. 고급필터 기본 사용법

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

엑셀 고급필터

 

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

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

엑셀 고급필터

 

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

① 필터링할 데이터 범위의 아무 셀이나 선택하고
② 리본 메뉴에서 [데이터] 탭 → [정렬 및 필터] 그룹 → [고급]을 누르면 [고급 필터] 대화상자가 나타납니다.
※ 만약 대화상자의 [목록 범위]가 비어 있다면 [목록 범위] 오른쪽의 버튼을 눌러서 필터링할 데이터 범위를 지정합니다.

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

엑셀 고급필터

 

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

⑥ 대화상자 오른쪽의 버튼을 누르면

엑셀 고급필터 조건설정

 

아래와 같이 [고급 필터] 대화상자로 돌아오며 [조건 범위]에 범위가 입력된 것을 확인할 수 있습니다.
마지막으로 ⑦ <확인> 버튼을 누르면

엑셀 고급필터 조건설정

 

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

엑셀 고급필터 결과

 

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

엑셀 고급필터 결과 지우기

 

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

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

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

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

 

 

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

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

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

<시트 A  - 원본 데이터가 있는 시트>

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

 

<시트 B - 필터링된 데이터를 복사하여 붙여넣을 시트>

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

 

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

① 리본 메뉴에서 [데이터] 탭 → [정렬 및 필터] 그룹 → [고급]을 누르면 [고급 필터] 대화상자가 나타납니다.

② [결과]는 '다른 장소에 복사'를 선택하고 ③ [목록 범위]의 오른쪽의 버튼을 눌러서 다음과 같이 목록범위를 지정합니다.

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

 

④ 마우스로 목록 범위 [$A$1:$G$34]를 선택하고 ⑤ [고급필터 - 목록 범위] 대화상자의 버튼을 누르면 [고급 필터] 대화상자로 돌아옵니다.

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

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

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

 

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

⑧ 대화상자 오른쪽의 버튼을 누르면

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

 

다음과 같이 [고급 필터] 대화상자로 돌아오며 [조건 범위]에 범위가 입력된 것을 확인할 수 있습니다.

⑨ [복사 위치] 입력 필드를 클릭한 후 ⑩ '필터링된 데이터를 복사해서 붙여넣을 위치' [A9] 범위를 지정하고
마지막으로 ⑪ <확인> 버튼을 누르면

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

 

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

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

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

엑셀 고급필터 결과 지우기

 

3. 실무 사용 사례

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

1) 같은 필드를 OR조건으로 필터링(자동필터로도 가능)

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

엑셀 고급필터 OR조건 설정

 

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

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

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

 

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

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

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

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

 

 

[ 엑셀 수식 강좌  - 엑셀 데이터 처리]

답글 남기기

이메일 주소는 공개되지 않습니다.