이전 강좌에서 기본 필터로는 필터링할 수 없는 경우를 알아보았습니다. 이제 그런 경우에 사용할 수 있는 고급 필터 기능을 본격적으로 알아보겠습니다.
예제 파일을 필터 편에서 계속해서 사용하고 있는 문서입니다. 일단 고급 필터를 통해 기본적인 필터링부터 해 보겠습니다. "경기 지역 주문 내역" 필터링입니다.
미리 말씀드리면 고급 필터는 3가지의 범위가 필요합니다.
고급 필터의 3가지 범위
목록 범위 |
필터링할 원본 데이터의 범위. (표의 레이블 포함) |
조건 범위 |
원본 데이터에서 필터링할 조건의 범위. (표의 레이블 포함) (ex, 지역이 경기라는 조건) 반드시 만들어야 함. |
복사 위치(범위) |
필터링되어 나타날 데이터의 시작 위치 혹은 범위(레이블 시작 위치 혹은 범위) 선택 사항. 원본은 유지한 채 새로운 표로 만들어 비교하기 위해 사용. |
목록 범위는 필터링할 대상 데이터(표)입니다. 이건 당연히 만들어져 있을 테니 그다지 신경 쓸 필요 없습니다.
조건 범위는 기본 필터에서 필터 단추로 클릭했던 조건입니다. 지금 해보려 하는 것은 "지역이 경기"인 것이니, 이것을 고급 필터 사용 전 범위(표)로 만들어 줘야 합니다. 만드는 방법은 간단합니다.
- 조건의 기준 항목을 작성합니다. 입력해도 좋고 복사 붙여 넣기를 해도 좋습니다만. 입력 시 오타가 나면 안 되므로 복사 붙여 넣기를 하시는 편이 확실합니다.
- 기준 항복의 조건 값을 항목 밑에 바로 붙여서 작성합니다. 역시 오타가 나면 안 되므로 복사 붙여 넣기로 진행해 주세요.
이렇게 만들면 조건 범위가 완성된 것입니다. 조건 범위는 K4:K5가 되는 것이죠.
복사 위치는 3가지를 고려해야 합니다.
- 복사 위치를 사용한다. => 새로운 표로 필터링된 표를 만든다
- 복사 위치를 범위로 만든다 => 새로운 표에 원하는 항목만 표로 만들다
- 복사 위치를 사용하지 않는다 => 원본 범위에서 필터링 결과를 반영한다. (기본 필터 사용처럼 적용됨)
아직 감이 오지 않을 수 있는데, 3가지 경우를 모두 사용해 보시면 이해하실 수 있을 겁니다.
1. 복사 위치를 사용하여 고급 필터 적용하기

- 데이터 탭 > 고급을 클릭합니다. => 고급 필터 대화상자가 나옵니다. 복사 위치가 비활성화되어 있습니다.
이때 목록 범위는 자동으로 절대 참조됩니다. 문서에 표가 하나만 있다면 신경 쓰지 않으셔도 되지만 여러 개라면 반드시 필터링할 데이터 원본 범위가 맞는지 확인하셔야 합니다. - 다른 장소에 복사를 클릭합니다. => 복사 위치가 활성화됩니다.
- 조건 범위란을 클릭하여 커서가 깜박이는 것을 확인합니다.
- 만들어 놓은 조건 범위를 클릭 드래그합니다. => 고급 필터의 조건 범위란에 절대 참조되어 들어옵니다.
- 조건 범위란을 클릭했을 때처럼 복사 위치란을 클릭합니다. 복사 위치란에 커서가 깜박이는 것을 확인합니다.
- 필터링된 데이터가 만들어질 첫 셀을 클릭합니다. => 역시 절대 참조됩니다.
- 최종 확인 버튼을 클릭합니다.
결과, 복사 위치로 선택한 셀부터 필터링된 데이터가 새로 만들어지는 것을 확인할 수 있습니다.
주문번호나, 제품번호같이 열의 너비가 좁아서 글자가 잘리거나 에러가 나는 열은 열 머리글에서 너비를 조정하여 모두 볼 수 있게 처리하면 됩니다.
2. 복사 위치를 범위로 만들어 고급 필터 적용하기
다음, 복사 위치를 범위로 만들어 고급 필터를 적용하는 방법을 설명하겠습니다.
주의 사항!
그런데 이 작업 전에 만약 지금처럼 복사 위치에 이미 필터링된 결과가 있다면 안 됩니다. 덮어쓰기 되어 잘못된 필터링 결과를 반환할 수 있기 때문이죠. 다시 고급 필터를 사용할 것이라면 반드시 만들어 놓았던 복사 위치(범위)의 내용(고급 필터 결과)을 지운 뒤에 사용해야 합니다. 간단하게 ctrl+z로 이전 단계로 돌아가고 싶지만, 불행히도 고급 필터 복사 위치의 결과는 ctrl+z로 되돌릴 수 없습니다. 결과 범위를 선택한 뒤 홈 탭 > 지우기 > 모두 지우기로 삭제하거나 아예 우클릭하여 삭제하는 방법으로 고글 필터로 만든 결과를 완전히 삭제해야 합니다.
- 복사 위치에 만들어 놓은 고급 필터의 결과 범위를 클릭 드래그하여 선택합니다.
- 홈 > 지우기 > 모두 지우기를 클릭합니다. => 범위의 모든 내용이 삭제됩니다.
(그냥 delete키를 누르면 셀 값만 지워집니다. 셀 서식까지 지우기 위해 모두 지우기를 진행한 것입니다. 물론 우클릭 팝업 메뉴의 삭제를 사용하셔도 됩니다.)
결과, 복사 위치에 만들어 놓은 고급 필터의 결과가 삭제되고 이 문서에는 목록 범위(원본 범위)와 조건 범위만 있는 상태가 되었습니다.
이제 복사 위치를 범위로 만들어 고급 필터를 적용하는 방법을 설명하겠습니다.
복사 위치를 범위로 만드는 이유는, 불필요한 항목은 제거하고 필요한 항목만을 보기 위해서입니다. 예를 들어 위 원본의 표에서 고객명, 지역, 제품 번호, 금액(원)만 보고 싶을 경우 주문번호, 주문일, 배송사, 제품분류는 불필요한 내용입니다. 필요한 항목인 고객명, 지역, 제품 번호, 금액(원)을 조건 범위처럼 만들어 줍니다.
- 복사할 항목(레이블)의 첫 셀을 클릭하여 선택합니다.
- 나머지 복사할 항목을 ctrl키를 누른 채 클릭하여 선택합니다.(떨어진 셀 선택하기)
- ctrl+c로 복사합니다.
- 범위로 만들려는 복사 위치의 첫 셀에서 마우스 우클릭합니다.
- 선택하여 붙여넣기 > 원본 열 너비 유지를 클릭합니다.
(이렇게 붙여 넣기를 하면 결과에 열의 너비가 좁아서 열 너비를 조정해야 하는 작업을 하지 않아도 되기 때문입니다.)
복사 위치가 범위로 만들어 졌습니다. 이제 고급 필터 적용 시 복사 위치란은 K8:N8의 범위로 선택하면 됩니다.
- 데이터 > 고급을 클릭합니다. => 고급 필터 대화상자가 나옵니다.
- 다른 장소에 복사를 클릭합니다. => 복사 위치가 활성화됩니다.
- 복사 위치는 이전에 만들었던 것이 그대로 나옵니다. 지워도 되지만 지울 필요 없이 입력란 제일 끝의 빈 공간을 그냥 클릭하고 커서가 깜박이는 것만 확인합니다.
(입력란 중간을 클릭하시면 안 됩니다. 그 경우는 편집이 됩니다. 반드시 제일 끝 빈 공간을 클릭해야 범위를 교체한다는 것을 기억해 주세요.) - 만들어 놓았던 복사 위치를 클릭 드래그하여 범위로 선택합니다. => 복사 위치란이 새로 선택한 범위로 절대 참조됩니다.
- 최종 확인 버튼을 클릭합니다.
그림처럼 원하는 필터링 조건으로 보고 싶은 항목만 정리된 필터링 결과를 얻을 수 있습니다.
즉, 고급 필터 사용 시 복사 위치를 사용하면 원본 데이터와 필터링 결과를 비교하면서 볼 수 있는 장점이 생기고, 복사 위치를 범위로 설정하여 사용하면 이렇게 보고 싶은 항목만 볼 수 있는 또 하나의 장점이 생기게 됩니다.
3. 목록 범위(원본 범위)에 고급 필터 적용하기
복사 위치를 반드시 사용해야 하는 것은 아닙니다. 복사 위치를 사용하지 않으면 기본 필터처럼 목록 범위(원본 범위)에서 바로 필터링 결과를 확인할 수 있습니다.
이 작업 전에 일단 위의 필터링 결과(K2:N21)를 범위 선택 후 홈 탭 > 지우기 > 모두 지우기를 통해 삭제해 주세요. 잘 안된다면 위의 주의 사항을 확인하시고 진행해 주세요.
- 데이터 > 고급을 클릭합니다. => 고급 필터 대화상자가 나옵니다.
- 복사 위치를 사용할 것이 아니므로 "현재 위치에 필터"가 선택돼야 합니다. 목록 범위와 조건 범위도 확인합니다.
- 최종 확인 버튼을 클릭합니다.
결과, 그림처럼 지역이 경기인 데이터만 원래의 위치에서 필터링됩니다. 필터 단추는 없지만 행 머리글에서 파란색으로 번호가 표시되고 제외된 것들은 두 줄 처리되는 것이 확인됩니다. 여기서 필터링 해제를 하려면 당황할 수 있습니다. 필터 단추가 없기 때문이죠. 기본 필터를 적용한 것이 아니기 때문에 마우스 우클릭으로 필터 해제도 안됩니다. 이때는 데이터 탭 > 지우기를 클릭하시면 필터링을 취소할 수 있습니다. 간단하죠.
고급 필터의 기본 사용법 3가지를 알아보았습니다. 추가로 말씀드리면,
고급 필터를 사용할 때 일반적으로 복사 위치를 사용합니다. 원본을 유지하고 필터링 결과를 따로 만드는 형태를 선호하죠. 물론 원본에서 필터링하셔도 되지만 가능한 원본 데이터는 손대지 않는 것이 좋습니다. "엑셀 필터 ❻ 필터링된 데이터 관리하기" 강좌 편에서 말씀드렸듯이 원본 데이터에서 또 다른 작업을 하게 되면 어떤 결과가 될지 알 수 없기 때문입니다.
그리고 또 한 가지 주의하셔야 되는 사항이 있습니다. 고급 필터에 익숙하지 않으신 분들은 3가지 범위 선택을 혼동하시는 경우가 종종 있습니다. 목록 범위를 잘못 선택하거나 조건 범위란에 복사 위치를 넣는 분도 간혹 있습니다. 복사 위치에 조건 범위를 넣는 경우도 있습니다. 당연히 안 됩니다. 3가지 범위의 정확한 용도를 알고 해당 범위를 정확히 선택해야 올바른 필터링을 할 수 있습니다. 또 불필요한 셀까지 범위로 잡게 되면 생각지 못한 결과가 나오게 됩니다. 그래서 "목록 범위, 조건 범위, 복사 위치"를 선택 시 반드시 확인 과정을 거쳐야 한다는 점을 꼭 기억해 주세요.