Excel VBA: 배열에서 여러 기준으로 필터링하는 방법(7가지 방법)

  • 이 공유
Hugh West

Excel VBA 에서 여러 기준 배열로 필터링 하는 방법을 찾고 있다면 제대로 찾아오셨습니다. Excel의 기존 기능을 사용하는 대신 VBA 코드를 사용하면 여러 기준에 따라 대규모 데이터 세트를 쉽게 필터링할 수 있습니다.

그럼 본론을 시작하겠습니다.

통합 문서 다운로드

Filter with Multiple Criteria.xlsm

Excel VBA를 사용하여 배열에서 여러 기준으로 필터링하는 7가지 방법

다음 데이터 세트에는 학생의 이름과 ID에 해당하는 몇 가지 마크 레코드가 있습니다. 일부 코드를 사용하여 다양한 기준에 따라 이 데이터 세트를 배열로 필터링하려고 합니다.

여기서는 Microsoft Excel 365 버전을 사용했습니다. 당신의 편의에 따라 다른 버전을 사용할 수 있습니다.

방법-1: 배열의 텍스트로 여러 기준으로 필터링

여기서 을 기반으로 다음 데이터 세트를 필터링하려고 합니다. 문자열 Emily , Daniel Gabriel <10을 포함하는 여러 기준에 대한 학생 이름 열> 어레이에서.

단계-01 :

개발자 로 이동 탭 >> Visual Basic Option.

그러면 Visual Basic Editor 가 열립니다.

삽입 탭 >> 모듈 옵션으로 이동합니다.

그 후 모듈 는생성되었습니다.

Step-02 :

➤ 다음 코드를 작성합니다.

2840

여기서 필터를 적용할 B3:D3 범위의 헤더 이름과 Field:=2 는 이 필터링 프로세스를 수행할 기준이 되는 이 범위의 열 번호입니다.

마지막으로 Emily , Daniel 과 같은 여러 학생의 이름을 선언하기 위한 배열로 기준을 설정했습니다. , 및 Gabriel .

F5 를 누릅니다.

그런 다음 여러 기준에 대해 데이터 세트를 필터링하여 학생의 이름과 해당 ID 마크 를 표시합니다. 1> 에밀리 , 다니엘 , 가브리엘 .

자세히 보기: Excel에서 여러 기준 필터링(적절한 4가지 방법)

방법-2: 다음을 사용하여 배열에서 여러 숫자 기준으로 필터링 Excel VBA

여기서 ID 101135 , 10에 대해 다음 데이터 세트를 필터링합니다. 1137 101138 이 숫자를 배열의 여러 기준으로 사용합니다.

단계 :

방법-1 단계-01 을 따릅니다.

➤ 다음 코드를 작성합니다

2263

여기서 필터를 적용할 B3:D3 범위의 헤더 이름을 선언했으며 Field:=2 는 이 범위의 열 번호입니다. 이 필터링을 수행합니다

마지막으로 101135 , 101137 과 같은 여러 학생의 ID를 선언하기 위한 기준을 배열로 설정했습니다. 101138 그리고 AutoFilter 는 문자열 배열에만 작동하기 때문에 문자열로 지정하기 위해 역쉼표 안에 넣었습니다.

F5 를 누르십시오.

다음에 ID가 인 학생의 이름과 점수가 표시됩니다. 101135 , 101137 101138 .

자세히 보기: VBA를 사용하여 Excel에서 열에서 배열로 고유한 값 가져오기(3가지 기준)

방법-3: 사용을 위한 범위에서 여러 기준 설정 as Array

여기에서 101134 , 101135 List 열에 기준을 나열했습니다. 10> 및 101136 필터링 프로세스를 수행합니다.

단계 :

방법-1 단계-01 을 따릅니다.

➤ 다음 코드를 작성합니다

5703

여기 , 우리는 ID_range , k Variant 이고 ID_range 는 여러 기준을 저장할 어레이이고 k 는 이 배열의 하한에서 상한까지의 증분입니다. 하한과 상한을 갖기 위해 각각 LBOUND 함수 UBOUND 함수 를 사용했습니다.

FOR 루프 는 문자열 이외의 값 CStr 함수 의 도움으로 배열에서 문자열로. 마지막으로 이 어레이를 Criteria1 로 활용했습니다.

F5 를 누릅니다.

다음에 ID가 101134 , 101135 101136 인 학생의 이름과 점수를 가져옵니다. .

자세히 보기: Excel VBA

<에서 여러 기준으로 다른 열 필터링 1>유사 읽기

  • Excel에서 고유한 값을 필터링하는 방법(8가지 쉬운 방법)
  • Excel에서 사용자 지정 필터 수행(5 방법)
  • VBA(매크로, UDF 및 사용자 양식)를 사용하여 배열의 평균 계산
  • Excel 필터 바로 가기(3가지 빠른 사용) 예제 포함)

방법-4: SPLIT 및 JOIN 함수를 사용하여 여러 조건을 갖는 배열 생성

여기서는 목록에서 다음 목록을 활용합니다. 컬럼을 배열로 사용하고 데이터세트를 적절하게 필터링하기 위해 에서 SPLIT 함수 , JOIN 함수 TRANSPOSE 함수 도 사용합니다. VBA 코드.

단계 :

<폴 낮은 Step-01 of Method-1 .

➤ 다음 코드 작성

4656

여기에 TRANSPOSE 가 변환됩니다. 2D 배열을 1D 배열로 자동 필터 가 작동하지 않고 JOIN 이 각 값을 문자열 배열로 결합합니다. 마지막으로 SPLIT 는 각 문자열을 분해하여 입력을 제공합니다.데이터세트 필터링 기준으로 별도로 사용합니다.

F5 를 누릅니다.

마지막으로 다음의 이름과 마크가 표시됩니다. ID가 101134 , 101135 101136 .

인 학생

자세히 보기: VBA에서 문자열을 배열로 분할하는 방법(3가지 방법)

방법-5 : VBA

가 있는 배열의 루프에서 여러 기준으로 필터링 이 섹션에서는 학생 ID 열에 따라 다음 데이터 세트를 여러 목록 열에 나열된 기준.

단계 :

< 단계- 01 of Method-1 .

➤ 다음 코드 작성

1882

여기서 k Integer로 선언했습니다. , ID_range(100) as String 여기서 ID_range 는 최대 100 값을 저장할 배열입니다. 여기에서 이 어레이의 값을 결정하기 위해 k 에서 4 에서 6 까지의 행 번호로 FOR 루프 를 사용했습니다. 목록 열 및 F 는 열 이름입니다.

마지막으로 이 배열을 자동 필터 에 대한 기준1 으로 사용했습니다. .

F5 를 누르십시오.

결국 ID가 <인 학생의 이름과 점수를 얻게 됩니다. 9>101134 , 101135 101136 .

자세히 보기: VBA를 사용하여 Excel에서 여러 조건 필터링(AND 및 OR 모두)유형)

방법-6: 여러 기준에 명명된 범위 사용

여기서 목록 열에 학생 이름을 나열하고 이름을 지정했습니다. 범위는 학생 입니다. 이 명명된 범위를 사용하여 자동 필터 기능에 대한 여러 기준을 포함하는 배열을 정의합니다.

단계 :

방법-1 단계-01 을 따릅니다.

➤ 다음 코드를 작성합니다.

4539

여기에 Student_range , k Variant 로, TRANSPOSE 함수 를 사용하여 명명된 범위의 2D 배열을 변환했습니다. Student 1D 배열에 넣은 다음 Student_range 에 저장했습니다. 그러면 자동필터 방법의 기준1 으로 사용됩니다.

F5 를 누르십시오.

그런 다음 데이터 세트를 여러 기준으로 필터링하여 학생 이름과 해당 ID 마크 <10을 표시합니다> Jefferson , Emily , Sara 학생을 위해.

관련 콘텐츠: Excel에서 배열을 전치하는 VBA(3가지 방법)

방법-7: 배열에 여러 기준이 있는 필터 테이블

여기에는 이름이 Table1 이고 Excel VBA를 사용하는 테이블 이 있습니다. 이름 Emily , Daniel , 및 Gabriel 어레이의 여러 기준으로.

단계 :

방법-1 단계-01 을 따릅니다.

➤ 다음 코드를 작성합니다.

5287

여기에 ListObjects(“Table1”) 는 테이블 정의에 사용됩니다. Table1 , Field:=2 이 범위의 두 번째 열을 필터링 프로세스의 기준으로 설정하고 마지막으로 배열을 정의했습니다. Criteria1 에 대한 여러 이름을 포함합니다.

F5 를 누릅니다.

결국 데이터세트를 갖게 됩니다. 여러 기준에 대해 필터링되어 학생의 이름과 해당 ID 마크 (학생 <9)를 표시합니다>Emily , Daniel Gabriel .

자세히 보기: Excel VBA: 셀 값을 기반으로 한 필터 표(6가지 쉬운 방법)

실습 섹션

실습 Practice 라는 시트에 아래와 같은 Practice 섹션을 제공했습니다. 직접 해보세요.

결론

이 글에서는 엑셀 VBA 쉽게. 유용하게 사용하시길 바랍니다. 제안이나 질문이 있는 경우 의견 섹션에서 자유롭게 공유하십시오.

Hugh West는 업계에서 10년 이상의 경험을 가진 고도로 숙련된 Excel 트레이너이자 분석가입니다. 그는 회계 및 재무 학사 학위와 경영학 석사 학위를 보유하고 있습니다. Hugh는 교육에 대한 열정을 가지고 있으며 따라하기 쉽고 이해하기 쉬운 독특한 교수법을 개발했습니다. Excel에 대한 그의 전문 지식은 전 세계 수천 명의 학생과 전문가가 자신의 기술을 향상시키고 경력에서 탁월하도록 도왔습니다. Hugh는 자신의 블로그를 통해 자신의 지식을 전 세계와 공유하고 개인과 기업이 잠재력을 최대한 발휘할 수 있도록 무료 Excel 자습서 및 온라인 교육을 제공합니다.