Excel의 여러 기준을 기반으로 한 VBA INDEX MATCH(3가지 방법)

  • 이 공유
Hugh West

대량의 데이터가 있는 경우 데이터 세트에서 특정 데이터를 추출하기 어려운 경우가 있습니다. Excel의 INDEX MATCH 기능과 함께 거대한 데이터 세트에서도 모든 종류의 데이터를 검색할 수 있습니다. VBA 구현은 Excel에서 모든 작업을 실행하는 가장 효과적이고 빠르고 안전한 방법입니다. 이 기사에서는 Excel에서 VBA 매크로 를 사용하여 여러 기준에 따라 INDEX MATCH 를 수행하는 방법에 대한 3가지 방법을 보여줍니다.

다운로드 통합 문서

여기에서 무료 연습용 Excel 통합 문서를 다운로드할 수 있습니다.

VBA INDEX MATCH Based on Multiple Criteria.xlsm

Excel의 여러 기준에 따라 VBA INDEX MATCH를 사용하는 3가지 방법

다음 섹션에서는 범위에 대한 여러 기준에 따라 INDEX MATCH를 수행하는 방법을 보여줍니다 , 특정 선택 테이블 VBA .

위 이 문서에서 따를 데이터 세트가 있습니다. 데이터 세트에 있는 각 학생의 학생 이름 , 학생 ID, 시험 점수 가 있습니다. 다른 두 열의 조건에 따라 한 열에 있는 특정 결과를 추출합니다.

기준 – 1: Embed VBA with INDEX MATCH for Multiple (Two) Dimensional Lookup in Excel

다음 이미지를 고려하십시오. 특정 학생의 이름 " Edge" Cell에 저장했습니다.G4 ; Exam Marks 에서 Result 를 검색할 열은 Cell G5 에 저장됩니다. Exam Marks 열에서 검색하고 " Edge" Cell G6 에 가져온 Marks 를 저장합니다.

VBA가 있는 Excel에서 INDEX MATCH 가 포함된 2차원 배열 에서 조회하는 단계 는 아래와 같습니다.

단계:

  • 처음에는 키보드에서 Alt + F11 을 누르거나 다음으로 이동합니다. 탭 개발자 -> Visual Basic 에서 Visual Basic Editor 를 엽니다.

  • 다음으로 팝업 코드 창에서 메뉴 표시줄에서 삽입 -> Module .

  • 다음 코드를 복사 하여 코드에 붙여넣기 합니다. 창입니다.
5883

이제 코드를 실행할 준비가 되었습니다.

  • 이제 F5 키를 키보드 또는 메뉴 표시줄에서 실행 ->을 선택합니다. Sub/UserForm 을 실행합니다. 하위 메뉴 모음에서 작은 실행 아이콘 을 클릭하여 매크로를 실행할 수도 있습니다.

코드 실행 후, 결과를 보려면 아래 gif를 확인하십시오.

결과적으로 " Edge" 가 얻은 Marks 67 검사는 셀 G7 에서 검색됩니다.

VBA 코드 설명

7506

워크시트의 변수를 정의합니다.

3078

워크시트 이름을 저장합니다. 시트의 이름은 "Two Dimension"입니다. 제공해야 합니다.스프레드시트에 따른 이름입니다.

4843

이 코드는 C5:D14 범위를 조회 범위로 선택합니다. 그런 다음 B5:B14 범위의 G4 셀에 저장된 일치 항목을 검색하고 범위의 G5 셀에 저장된 일치 항목을 검색합니다. C4:D4 및 셀 G6 에 결과를 전달합니다.

자세히 보기: 날짜 범위에 대해 여러 기준으로 INDEX MATCH를 사용하는 방법

기준 – 2: 사용자 정의 함수(UDF)를 사용하여 INDEX로 MATCH 값 찾기에 매크로 적용

사용자 정의 함수(UDF) . 다음 이미지에서 우리가 할 일은 특정 학생의 학생 ID 시험 점수 를 전달하고 함수는 이름 .

VBA 를 사용하여 학생 이름 “Finn” 에 대해 이를 달성하는 방법을 살펴보겠습니다.

단계:

  • 이전과 같이 개발자 탭에서 Visual Basic Editor 를 열고 코드 창에 모듈 삽입합니다.
  • 그런 다음 코드 창에서 다음 코드를 복사 하여 붙여넣기 합니다.
3280

  • 이 코드를 실행하지 마세요 , 저장 하세요.
  • 이제 관심 있는 워크시트 로 돌아갑니다. 결과를 저장하려는 셀 을 선택하십시오. 우리의 경우 셀 F5 입니다.
  • 해당 셀에 UDF 를 작성합니다.함수의 괄호 안에 있는 특정 학생의 코드( MatchByIndex )에서 학생 ID 및 시험 점수 를 전달합니다.

As 그의 ID (105) Marks (84) 에서 " Finn" 이라는 이름을 추출하려고 합니다. 따라서 우리의 경우 공식은

=MatchByIndex(105,84)

  • 그런 다음 Enter 를 누릅니다.

다음 이미지를 보세요.

셀 F5 에서 “ Finn”<2이라는 이름을 성공적으로 검색했습니다> 우리가 VBA 코드에서 생성한 함수 안에 그의 ID Marks 를 전달하기만 하면 됩니다.

VBA 코드 설명

7238

새 함수를 만들고 그 안에 변수를 전달합니다. 함수에 이름을 정의할 수 있습니다.

1330

행 번호는 4번부터 시작합니다. 데이터세트가 시작하는 행 번호를 제공해야 합니다.

7293

변수 정의

4038

먼저 작업할 워크시트를 정의합니다. 시트의 이름은 "UDF"입니다. 스프레드시트에 따라 이름을 제공해야 합니다. 그런 다음 정의한 첫 번째 행에서 마지막 행까지 C:D 범위에서 검색을 시작합니다.

7432

첫 번째 행에서 마지막 행까지 반복을 시작합니다. 함수 내부에 전달할 첫 번째 값이 C 열에 속하고 함수 내부에 전달할 두 번째 값이 D 열에 속하면 다음을 반환합니다. 그만큼 B 열에서 일치합니다. 그렇지 않으면 함수를 종료하고 모든 명령문을 종료한 후 다음 줄로 이동합니다.

6997

실행 중에 이전 조건이 충족되지 않으면 "Data Not Found" 메시지가 반환되고 코드가 기능을 종료합니다.

자세히 보기: Excel의 부분 텍스트에 대한 여러 기준을 사용한 INDEX-MATCH(2가지 방법)

기준 – 3: Excel에서 여러 데이터가 있는 테이블에서 MATCH 값을 반환하도록 VBA 구현

이 섹션에서는 테이블에서 인덱스별로 일치하는 값을 반환하는 방법에 대해 알아봅니다. VBA Excel의 MsgBox 에서.

Marks 를 우리의 코드 내부에 Name ID 를 제공하여 특정 학생의 데이터 세트( T able Name: TableMatch ). 이 경우 Name ID 는 각각 Finn 105 입니다.

단계 :

  • 먼저 개발자 탭에서 Visual Basic Editor 를 열고 모듈<2을 삽입 합니다> 코드 창에서.
  • 그런 다음 다음 코드를 복사 하여 코드 창에 붙여넣으십시오 .
4711

귀하의 코드 이제 실행할 준비가 되었습니다.

  • 나중에 이 코드를 실행 하고 다음 이미지를 보고 어떤 결과가 발생했는지 확인하세요.

위 이미지에서 볼 수 있듯이 Microsoft Excel 팝업이 있습니다.코드 내에서 제공한 Marks: 84 of ID: 105 Name: Finn 을 표시하는 메시지 상자를 엽니다.

VBA 코드 설명

7160

변수 정의

8712

변수 내 시트 이름 및 테이블 이름 설정

7112

저장 검색할 조회 값과 조회 열입니다.

9161

이 코드는 아래 첨자의 처음부터 끝까지 스캔하여 검색 열에서 정의된 ID와 이름이 일치하는 항목을 찾으면 결과를 저장하고 모든 문을 닫습니다. 또한 반복을 종료하고 코드의 다음 부분으로 이동합니다.

4327

MsgBox에 결과를 표시합니다.

자세히 보기: 조회 및 반환 Excel에서 여러 값을 하나의 셀로 연결

결론

결론적으로 이 기사에서는 INDEX MATCH 기반 수행 방법에 대한 3가지 방법을 보여주었습니다. Excel에서 VBA 매크로 를 사용하여 여러 기준 에서. 이 기사가 귀하에게 많은 도움이 되었기를 바랍니다. 주제에 대해 궁금한 점이 있으면 언제든지 문의하십시오.

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