VLOOKUP 기능 개선

내용

낙하산을 올바르게 포장하는 방법?

혜택. 제2판, 개정.

다음과 같은 주문 테이블이 있다고 가정해 보겠습니다.

VLOOKUP 기능 개선

예를 들어 Ivanov의 세 번째 주문 금액이 얼마인지 또는 Petrov가 두 번째 거래를 실행했는지 알아야 합니다. 내장 VLOOKUP 기능은 테이블에서 성의 첫 번째 항목만 검색할 수 있으며 도움이 되지 않습니다. "주문 번호 10256의 관리자는 누구였습니까?"와 같은 질문 또한 대답하지 않은 채로 남을 것입니다, tk. 기본 제공 VLOOKUP은 검색 열의 왼쪽에 있는 열에서 값을 반환할 수 없습니다.

이 두 가지 문제는 모두 한 번에 해결됩니다. 첫 번째 문제뿐 아니라 일반적인 경우 N번째 항목을 찾는 자체 함수를 작성해 보겠습니다. 또한 모든 열에서 결과를 검색하고 생성할 수 있습니다. VLOOKUP2라고 합시다. 

Alt+F11을 누르거나 메뉴에서 선택하여 Visual Basic Editor를 엽니다. 서비스 – 매크로 – Visual Basic Editor (도구 - 매크로 - Visual Basic Editor), 새 모듈(메뉴 삽입 – 모듈) 이 함수의 텍스트를 복사합니다.

Function VLOOKUP2(Table As Variant, SearchColumnNum As Long, SearchValue As Variant, _ N As Long, ResultColumnNum As Long) Dim i As Long, iCount As Long Select Case TypeName(Table) Case "Range" For i = 1 To Table.Rows .Count If Table.Cells(i, SearchColumnNum) = SearchValue Then iCount = iCount + 1 End If iCount = N Then VLOOKUP2 = Table.Cells(i, ResultColumnNum) 종료 For End If Next i Case "Variant()" For i = 1 To UBound(Table) If Table(i, SearchColumnNum) = SearchValue Then iCount = iCount + 1 If iCount = N Then VLOOKUP2 = Table(i, ResultColumnNum) End For End If Next i End Select End Function  

Visual Basic Editor를 닫고 Excel로 돌아갑니다.

지금까지 삽입 – 기능 (삽입 — 기능) 카테고리 사용자 정의 (사용자 정의) VLOOKUP2 기능을 찾아 사용할 수 있습니다. 함수 구문은 다음과 같습니다.

=VLOOKUP2(테이블; number_of_column_where_우리가 찾는; lookup_value; N; number_of_column_from_to_get_value)

이제 표준 기능의 한계는 우리에게 방해가 되지 않습니다.

VLOOKUP 기능 개선

PS 닫힌 책에서 검색할 수 있도록 기능을 개선한 _Prist에게 특별한 감사를 드립니다.

  • VLOOKUP 함수를 사용하여 한 테이블에서 다른 테이블로 데이터 찾기 및 대체
  • INDEX 및 MATCH 기능을 사용하는 "왼쪽 VLOOKUP"

 

댓글을 남겨주세요.