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)        
  'moonexcel.com.ua
  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 기본 Excel로 돌아갑니다.

지금에 기능 마법사 카테고리에서 사용자 정의 VLOOKUP2 함수를 찾아서 사용할 수 있습니다. 함수의 구문은 다음과 같습니다.

=VLOOKUP2( 테이블 ; 열_번호_위치_우리_검색 ; 검색_값; 항목_번호 ; column_number_from_which_we_take_the_value )

즉, Mike에게 지급된 세 번째 대출 금액을 찾으려면 다음을 입력해야 합니다.

=VLOOKUP2(A2:A19; 1; "Mike"; 3; 4)

주제에 관한 기사: