내장 함수 VLOOKUP은 Excel에서 가장 강력한 함수 중 하나입니다. 그러나 여기에는 한 가지 중요한 단점이 있습니다. 즉, 테이블에서 원하는 값이 처음으로 나타나는 항목과 맨 오른쪽 열에서만 찾습니다. 하지만 마지막이 아닌 두 번째, 세 번째가 필요하다면?
다음과 같이 처리된 대출 테이블이 있다고 가정해 보겠습니다.
예를 들어, Mike에게 발행된 세 번째 대출 금액이 얼마인지 또는 John이 두 번째 계약을 체결한 시기를 알아야 합니다. 내장 함수 VLOOKUP 테이블에서 처음 나타나는 이름만 검색하는 방법을 알고 있으므로 도움이 되지 않습니다.
첫 번째 항목뿐만 아니라 후속(N번째) 항목도 검색하는 함수를 작성해 보겠습니다. 예를 들어 VLOOKUP2이라고 부르겠습니다.
메뉴 열기 서비스 - 매크로 - 편집기 Visual Basic , 새 모듈을 삽입 (메뉴 Insert - Module) 그리고 이 함수의 텍스트를 거기에 복사하세요:
Function VLOOKUP2(Table As Range, _ SearchColumnNum As Integer, _ SearchValue As Variant, _ N As Integer, _ ResultColumnNum As Integer) Dim i As Integer Dim iCount As Integer For i = 1 To Table.Rows.Count If Table.Cells(i, SearchColumnNum) = SearchValue Then iCount = iCount + 1 End If If iCount = N Then VLOOKUP2 = Table.Cells(i, ResultColumnNum) Exit For End If Next i End Function
Visual Basic 편집기를 닫고 Excel로 돌아갑니다.
이제 함수 마법사의 사용자 정의 범주에서 VLOOKUP2 함수를 찾아서 사용할 수 있습니다. 함수의 구문은 다음과 같습니다.
=VLOOKUP2(테이블 ; 열_번호_위치_우리_검색 ; 검색된_값; 항목_번호 ; column_number_from_which_we_take_the_value )
즉, Mike에게 지급된 세 번째 대출 금액을 찾으려면 다음을 입력해야 합니다.
=VLOOKUP2(A2:A19 ; 1 ; "Mike"; 삼 ; 4 )