TOP

향상된 기능 VLOOKUP (VLOOKUP2)

설명

내장 함수 VLOOKUP은 Excel에서 가장 강력한 함수 중 하나입니다. 그러나 여기에는 한 가지 중요한 단점이 있습니다. 즉, 테이블에서 원하는 값이 처음으로 나타나는 항목과 맨 오른쪽 열에서만 찾습니다. 하지만 마지막이 아닌 두 번째, 세 번째가 필요하다면?


문제의 예

다음과 같이 처리된 대출 테이블이 있다고 가정해 보겠습니다.

예를 들어, Mike에게 발행된 세 번째 대출 금액이 얼마인지 또는 John이 두 번째 계약을 체결한 시기를 알아야 합니다. 내장 함수 VLOOKUP 테이블에서 처음 나타나는 이름만 검색하는 방법을 알고 있으므로 도움이 되지 않습니다.

첫 번째 항목뿐만 아니라 후속(N번째) 항목도 검색하는 함수를 작성해 보겠습니다. 예를 들어 VLOOKUP2이라고 부르겠습니다.

VBA 함수 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 )

주제에 관한 기사: