Vba: 여러 기준으로 index match를 사용하는 방법


다음 기본 구문을 사용하여 VBA에서 여러 기준으로 INDEX MATCH를 수행할 수 있습니다.

 SubIndexMatchMultiple ()
    Range(" F3 ").Value = WorksheetFunction.Index(Range(" C2:C10 "), _
    WorksheetFunction.Match(Range(" F1 "), Range(" A2:A10 "), 0) + _
    WorksheetFunction.Match(Range(" F2 "), Range(" B2:B10 "), 0) - 1)
End Sub

이 특정 예에서는 A2:A10 범위에 있는 F1 셀의 값과 B2:B10 범위에 있는 F2 셀의 값을 찾고 C2:C10 범위에 있는 해당 값을 F3 셀에 반환합니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: VBA를 사용하여 여러 기준으로 INDEX MATCH 수행

농구 선수에 대한 정보가 포함된 다음과 같은 데이터 세트가 Excel에 있다고 가정합니다.

F1 의 팀 이름과 셀 F2 의 위치와 일치하는 플레이어를 찾고 셀 F3 에 이름을 반환한다고 가정해 보겠습니다.

이를 위해 다음 매크로를 생성할 수 있습니다:

 SubIndexMatchMultiple ()
    Range(" F3 ").Value = WorksheetFunction.Index(Range(" C2:C10 "), _
    WorksheetFunction.Match(Range(" F1 "), Range(" A2:A10 "), 0) + _
    WorksheetFunction.Match(Range(" F2 "), Range(" B2:B10 "), 0) - 1)
End Sub

이 매크로를 실행하면 다음과 같은 출력이 나타납니다.

매크로는 Team 열에서 “Spurs”를 검색하고 Position 열에서 “Forward”를 검색하여 F3 셀에 “Eric”이라는 이름을 올바르게 반환합니다.

F1F2 셀의 값을 변경하고 매크로를 다시 실행하면 새 값을 기반으로 플레이어 이름을 찾을 수 있습니다.

예를 들어 팀 이름을 “Mavs”로 변경하고 위치를 “Center”로 변경하고 매크로를 다시 실행한다고 가정해 보겠습니다.

매크로는 Team 열에서 “Mavs”, Position 열에서 “Center”를 검색하고 F3 셀에 “Chad”라는 이름을 올바르게 반환합니다.

추가 리소스

다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

VBA: 인덱스 일치를 사용하는 방법
VBA:문자열에 다른 문자열이 포함되어 있는지 확인하는 방법
VBA:범위 내 행 수를 계산하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다