고급 필터와 마법

대다수의 Excel 사용자의 경우 "데이터 필터링"이라는 단어가 머리에 떠오르면 탭에서 일반적인 클래식 필터만 데이터 – 필터 (데이터 — 필터):

고급 필터와 마법

이러한 필터는 의심할 여지 없이 친숙한 것이며 대부분의 경우 그렇게 할 것입니다. 그러나 여러 열에서 한 번에 많은 수의 복잡한 조건으로 필터링해야 하는 상황이 있습니다. 여기의 일반적인 필터는 그다지 편리하지 않으며 더 강력한 것을 원합니다. 그러한 도구는 고급 필터, 특히 약간의 "파일로 마무리"(전통에 따라).

베이스

시작하려면 데이터 테이블 위에 몇 개의 빈 줄을 삽입하고 거기에 테이블 머리글을 복사하십시오. 이것은 조건이 있는 범위입니다(명확성을 위해 노란색으로 강조 표시됨).

고급 필터와 마법

노란색 셀과 원본 테이블 사이에는 최소한 하나의 빈 줄이 있어야 합니다.

필터링이 수행될 기준(조건)을 입력해야 하는 것은 노란색 셀에 있습니다. 예를 들어 III 분기의 모스크바 "Auchan"에서 바나나를 선택해야 하는 경우 조건은 다음과 같습니다.

고급 필터와 마법

필터링하려면 소스 데이터가 있는 범위의 셀을 선택하고 탭을 엽니다. Data 그리고 또한 (데이터 — 고급). 열리는 창에서 데이터가 있는 범위는 이미 자동으로 입력되어야 하며 조건 범위(예: A1:I2)만 지정하면 됩니다.

고급 필터와 마법

조건 범위는 "여백이 있는" 할당될 수 없습니다. 즉, 조건 범위의 빈 셀이 Excel에서 기준이 없는 것으로 인식되고 전체가 비어 있는 것으로 인식되기 때문에 여분의 빈 노란색 선을 선택할 수 없습니다. 모든 데이터를 무분별하게 표시하라는 요청으로 행.

스위치 결과를 다른 위치에 복사 이 시트에 없는 목록을 일반 필터와 같이 필터링할 수 있지만 선택한 행을 다른 범위로 언로드한 다음 필드에 지정해야 합니다. 결과를 범위에 넣으십시오. 이 경우 이 기능을 사용하지 않고 그대로 둡니다. 제자리에 필터 목록 클릭 OK. 선택한 행이 시트에 표시됩니다.

고급 필터와 마법

매크로 추가

"글쎄, 여기 편의 시설이 어디 있습니까?" 당신은 묻고 당신이 옳을 것입니다. 손으로 노란색 셀에 조건을 입력해야 할 뿐만 아니라 대화 상자를 열고 거기에 범위를 입력하고 OK. 슬프다, 동의한다! 그러나 "©가 오면 모든 것이 바뀝니다." – 매크로입니다!

조건이 입력되면 고급 필터를 자동으로 실행하는 간단한 매크로(예: 노란색 셀 변경)를 사용하여 고급 필터 작업을 크게 가속화하고 단순화할 수 있습니다. 현재 시트의 탭을 마우스 오른쪽 버튼으로 클릭하고 명령을 선택합니다. 소스 텍스트 (소스 코드). 열리는 창에서 다음 코드를 복사하여 붙여넣습니다.

Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A2:I5")) Is Nothing then On Error Resume Next ActiveSheet.ShowAllData Range("A7").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange :=Range("A1").CurrentRegion End If End Sub  

이 절차는 현재 워크시트의 셀이 변경되면 자동으로 실행됩니다. 변경된 셀의 주소가 노란색 범위(A2:I5)에 속하는 경우 이 매크로는 모든 필터(있는 경우)를 제거하고 A7부터 시작하는 소스 데이터 테이블에 확장 필터를 다시 적용합니다. 즉, 모든 것이 즉시 즉시 필터링됩니다. 다음 조건을 입력한 후:

그래서 모든 것이 훨씬 낫습니다. 🙂

복잡한 쿼리 구현

이제 모든 것이 즉시 필터링되므로 뉘앙스를 조금 더 자세히 살펴보고 고급 필터에서 더 복잡한 쿼리의 메커니즘을 분해할 수 있습니다. 정확한 일치를 입력하는 것 외에도 다양한 조건에서 다양한 와일드카드 문자(* 및 ?)와 수학적 부등호 기호를 사용하여 대략적인 검색을 구현할 수 있습니다. 캐릭터 케이스는 상관없습니다. 명확성을 위해 가능한 모든 옵션을 표에 요약했습니다.

표준 결과
gr* 또는 gr 로 시작하는 모든 셀 GrIe Gr, Gr사과, Gr아나 트
= 양파 모든 셀을 정확하게 그리고 단어로만 , 즉 정확히 일치
*리브* 또는 *리브 포함하는 세포 거실 밑줄을 긋는 방법, 즉 О거실, 거실ep, 에 따르면거실
=p*v 로 시작하는 단어 П 그리고 끝나는 В ie П먼저в, П에테르в
처럼 로 시작하는 단어 А 및 추가로 포함하는 СIe Асin, А나나с, Asai
=*들 로 끝나는 단어 С
=???? 4자 텍스트가 있는 모든 셀(공백을 포함한 문자 또는 숫자)
=m????????n 로 시작하는 8자의 텍스트가 있는 모든 셀 М 그리고 끝나는 НIe М안다리н, М불안을 경험했다고 보고했습니다.н 
=*n??아 로 끝나는 모든 단어 А, 끝에서 4번째 글자는 어디에 НIe нikа, 에 따르면нozа
>=이 로 시작하는 모든 단어 Э, Ю or Я
<>*오* 문자를 포함하지 않는 모든 단어 О
<>*비치 로 끝나는 단어를 제외한 모든 단어 HIV (예: 중간 이름으로 여성 필터링)
= 모든 빈 셀
<> 비어 있지 않은 모든 셀
> = 5000 5000보다 크거나 같은 값을 가진 모든 셀
5 또는 =5 값이 5인 모든 셀
> = 3 년 18 월 2013 일 날짜가 18년 2013월 XNUMX일 이후인 모든 셀(포함)

미묘한 점:

  • * 기호는 임의의 수의 문자를 의미하고 ? - 임의의 하나의 문자.
  • 텍스트 및 숫자 쿼리를 처리하는 논리는 약간 다릅니다. 예를 들어, 숫자 5가 있는 조건 셀은 XNUMX로 시작하는 모든 숫자를 검색하는 것을 의미하지 않지만 문자 B가 있는 조건 셀은 B*와 같습니다. 즉, 문자 B로 시작하는 텍스트를 찾습니다.
  • 텍스트 쿼리가 = 기호로 시작하지 않으면 정신적으로 끝에 *를 넣을 수 있습니다.
  • 날짜는 미국 형식의 월-일-년 및 분수로 입력해야 합니다(Excel 및 지역 설정이 있는 경우에도 마찬가지).

논리적 연결 AND-OR

다른 셀에 작성되었지만 동일한 행에 있는 조건은 논리 연산자에 의해 상호 연결된 것으로 간주됩니다. И (그리고):

고급 필터와 마법

저것들. XNUMX/XNUMX 분기에 나를 위해 바나나를 필터링하십시오. 모스크바와 동시에 Auchan에서.

조건을 논리 연산자와 연결해야 하는 경우 OR (OR), 그런 다음 다른 줄에 입력하기만 하면 됩니다. 예를 들어, Samara의 XNUMX/XNUMX 분기에 모스크바 복숭아에 대한 관리자 Volina의 모든 주문과 양파에 대한 모든 주문을 찾아야 하는 경우 다음과 같은 조건 범위에서 지정할 수 있습니다.

고급 필터와 마법

한 열에 두 개 이상의 조건을 적용해야 하는 경우 기준 범위에서 열 머리글을 복제하고 그 아래에 두 번째, 세 번째 등을 입력하면 됩니다. 자귀. 예를 들어 XNUMX월부터 XNUMX월까지의 모든 거래를 선택할 수 있습니다.

고급 필터와 마법

일반적으로 "파일로 마무리"한 후에 고급 필터는 꽤 괜찮은 도구가 되며 어떤 곳에서는 고전적인 자동 필터보다 나쁘지 않습니다.

  • 매크로의 슈퍼필터
  • 매크로란 무엇이며 Visual Basic에서 매크로 코드를 삽입하는 위치와 방법
  • Microsoft Excel의 스마트 테이블

댓글을 남겨주세요.