VLOOKUP 함수

적용 대상
Microsoft 365용 Excel Mac용 Microsoft 365용 Excel Excel 2024 Mac용 Excel 2024 Excel 2021 Mac용 Excel 2021 Excel 2019 Excel 2016

XLOOKUP 함수를 사용해 보세요. VLOOKUP의 개선된 버전으로, 어느 방향으로나 작동하며, 기본값으로 정확한 일치 항목을 반환하여 이전 버전보다 더 사용하기 쉽고 편리합니다.

테이블이나 범위에서 행별로 항목을 찾아야 할 때 VLOOKUP을 사용합니다. 예를 들어 부품 번호로 자동차 부품의 가격을 찾거나 직원 ID를 기반으로 직원 이름을 찾습니다.

가장 간단한 형식의 VLOOKUP 함수는 다음과 같은 의미입니다.

=VLOOKUP(조회하려는 항목, 찾고자 하는 위치, 반환할 값이 포함된 범위의 열 번호, 대략적 또는 정확히 일치 반환 - 1/TRUE 또는 0/FALSE로 표시).

  • VLOOKUP의 비결은 찾고자 하는 값(Fruit)이 찾고자 하는 반환 값(Amount)의 왼쪽에 있도록 데이터를 구성하는 것입니다.
  • Microsoft Copilot 구독자인 경우 Copilot을 사용하여 VLookup 또는 XLookup 함수를 훨씬 쉽게 삽입하고 사용할 수 있습니다. Excel에서 Copilot을 사용하여 데이터 인사이트 가져오기를 참조하세요.

기술적인 세부 정보

VLOOKUP 함수를 사용하여 표에서 값을 조회합니다.

구문

VLOOKUP (lookup_value, table_array, col_index_num, [range_lookup])

예를 들면 다음과 같습니다.

  • =VLOOKUP(A2,A10:C20,2,TRUE)
  • =VLOOKUP("장",B2:E7,2,FALSE)
  • =VLOOKUP(A2,'Client Details'! A:F,3,FALSE)
인수 이름 설명
lookup_value(필수) 조화하려는 값입니다. 조회하려는 값은 table_array 인수에 지정한 셀 범위의 첫 번째 열에 있어야 합니다.
예를 들어 테이블 배열 이 B2:D7 셀에 걸쳐 있는 경우 lookup_value B열에 있어야 합니다.
Lookup_value 셀에 대한 값 또는 참조일 수 있습니다.
Table_array(필수) VLOOKUP이 lookup_value 및 반환 값을 검색하는 셀의 범위입니다. 명명된 범위 또는 테이블을 사용할 수 있으며 인수에 셀 참조 대신 이름을 사용할 수 있습니다.
셀 범위의 첫 번째 열에는 lookup_value가 포함되어야 합니다. 셀 범위에는 찾으려는 반환 값도 포함되어야 합니다.
col_index_num(필수) 반환 값이 포함된 열 번호( table_array의 가장 왼쪽 열에서 1부터 시작)입니다.
range_lookup(선택 사항) VLOOKUP으로 근사값을 찾을 것인지, 정확하게 일치하는 값을 찾을 것인지를 지정하는 논리값입니다.
  • 근사값 일치 - 1/TRUE는 테이블의 첫 번째 열이 숫자 또는 알파벳순으로 정렬되어 있다고 가정한 다음 가장 가까운 값을 검색합니다. 인수를 지정하지 않으면 이 방법이 기본적으로 사용됩니다. 예: =VLOOKUP(90,A1:B100,2,TRUE).
  • 정확히 일치 - 0/FALSE는 첫 번째 열에서 정확한 값을 검색합니다. 예: =VLOOKUP("Smith",A1:B100,2,FALSE).

시작 방법

VLOOKUP 구문을 작성하는 데 필요한 네 가지 정보가 있습니다.

  1. 조회하려는 값으로서, 조회 값이라고도 합니다.
  2. 조회 값이 있는 범위입니다. 조회 값은 항상 VLOOKUP이 제대로 작동하는 범위에서 첫 번째 열에 있어야 한다는 것을 기억해 두세요. 예를 들어, 조회 값이 C2 셀에 있다면 범위는 C로 시작해야 합니다.
  3. 반환 값이 포함된 범위에 있는 열 번호입니다. 예를 들어 B2:D11을 범위로 지정하면 B를 첫 번째 열로, C를 두 번째 열로 계산하는 식으로 계산해야 합니다.
  4. 원할 경우, 유사 일치가 필요하면 TRUE를 지정하고, 반환 값의 정확한 일치가 필요하면 FALSE를 지정할 수 있습니다. 항목을 지정하지 않으면, 기본값은 항상 TRUE나 유사 일치가 됩니다.

이제 다음과 같이 위의 항목을 모두 넣습니다.

=VLOOKUP(조회 값, 조회 값이 포함된 범위, 반환 값이 포함된 범위의 열 번호, 대략적인 일치(TRUE) 또는 정확히 일치(FALSE)).

예제

다음은 VLOOKUP의 몇 가지 예입니다.

예제 1

=VLOOKUP (B3,B2:E7,2,FALSE) VLOOKUP은 table_array B2:E7의 첫 번째 열(B열)에서 Fontana를 찾아 table_array의 두 번째 열(C열)에서 Olivier를 반환합니다. False는 정확한 일치를 반환합니다.

예제 2

=VLOOKUP (102,A2:C7,2,FALSE) VLOOKUP은 A2:C7 범위의 두 번째 열(B열)에서 102(lookup_value)에 대한 성의 정확한 일치(FALSE)를 찾아 Fontana를 반환합니다.

예제 3

=IF(VLOOKUP(103,A1:E7,2,FALSE)=Souse,Located,Not found) IF는 VLOOKUP이 A1:E7(table_array)의 103(lookup_value)에 해당하는 직원의 성으로 Sousa를 반환하는지 확인합니다. 103에 해당하는 성이 Leal이기 때문에 IF 조건은 false이고 Not Found가 표시됩니다.

예제 4

=INT(YEARFRAC(DATE(2014,6,30),VLOOKUP(105,A2:E7,5,FLASE),1)) VLOOKUP은 A2:E7 범위(table_array)에서 109(lookup_value)에 해당하는 직원의 생년월일을 찾아 1955년 3월 4일을 반환합니다. 그런 다음 YEARFRAC는 2014/6/30에서 이 생년월일을 빼고 값을 반환합니다. 이 값은 INY에서 정수 59로 변환됩니다.

예제 5

IF(ISNA(VLOOKUP(105,A2:E7,2,FLASE))=TRUE,직원을 찾을 수 없음,VLOOKUP(105,A2:E7,2,FALSE)) IF는 VLOOKUP이 105(lookup_value)에 대한 B열의 성 값을 반환하는지 확인합니다. VLOOKUP에서 성을 찾으면 IF가 성을 표시하고, 그렇지 않으면 IF가 직원을 찾을 수 없음을 반환합니다. ISNA는 VLOOKUP이 #N/A를 반환하는 경우 오류가 #N/A 대신 직원을 찾을 수 없음으로 대체되는지 확인합니다. 이 예제에서 반환 값은 105에 해당하는 성인 Burke입니다.

일반적인 문제

문제 원인
잘못된 값 반환 range_lookup이 TRUE이거나 제외되면 첫 번째 열을 사전순 또는 숫자순으로 정렬해야 합니다. 첫 번째 열이 정렬되어 있지 않으면 잘못된 값이 반환될 수 있습니다. 첫 번째 열을 정렬하거나 정확한 일치를 위해 FALSE를 사용합니다.
셀의 #N/A
  • range_lookup이 TRUE이면 lookup_value의 값이 table_array의 첫 번째 열에 있는 가장 작은 값보다 작으면 #N/A 오류 값이 표시됩니다.
  • range_lookup가 FALSE이면 #N/A 오류 값은 정확한 숫자를 찾을 수 없음을 나타냅니다.
VLOOKUP의 #N/A 오류를 해결하는 방법에 대한 자세한 내용은 How to correct a #N/A error in the VLOOKUP function(VLOOKUP 함수에서 발생하는 #N/A 오류의 수정 방법)을 참조하세요.
행 또는 열을 삭제하여 발생하는 #REF! 셀에 col_index_numtable-array의 열 수보다 크면 #REF 얻습니다! 오류 값이 나타납니다.
VLOOKUP의 #REF! VLOOKUP의 오류는 해결 방법 #REF 참조하세요! 오류입니다.
#VALUE! 셀에 table_array이 1보다 작으면 #VALUE이 됩니다! 오류 값이 나타납니다.
#VALUE! 문제 해결에 대한 자세한 내용은 VLOOKUP의 오류는 VLOOKUP 함수에서 #VALUE! 오류를 수정하는 방법을 참조하세요.
셀의 #NAME? #NAME? 오류 값은 보통 수식에 따옴표가 누락되었음을 의미합니다. 사람의 이름을 조회하려면 수식에서 이름을 따옴표로 묶어야 합니다. 예를 들어 =VLOOKUP("장",B2:E7,2,FALSE)에서 "장"과 같은 형식으로 이름을 입력합니다.
자세한 내용은 #NAME! 오류를 수정하는 방법을 참조하세요.
Excel의 #SPILL! 셀에 이 특정 #SPILL! 오류 는 일반적으로 수식이 조회 값에 대한 암시적 교차에 의존하고 전체 열을 참조로 사용한다는 것을 의미합니다. 예: =VLOOKUP( A:A,A:C,2,FALSE). =VLOOKUP(@A:A,A:C,2,FALSE)와 같이 @ 연산자로 조회 참조를 고정하여 문제를 해결할 수 있습니다. 또는 기존 VLOOKUP 방법을 사용하여 전체 열 대신 단일 셀을 참조할 수 있습니다. =VLOOKUP(A2,A:C,2,FALSE).

모범 사례

방법 이유
range_lookup에 절대 참조 사용 절대 참조를 사용하면 항상 같은 조회 범위만 참조하도록 수식을 채울 수 있습니다.
절대 셀 참조를 사용하는 방법에 대해 알아보세요.
숫자 값 또는 날짜 값은 텍스트로 저장하지 않습니다. 숫자 또는 날짜 값을 검색할 때 table_array 의 첫 번째 열에 있는 데이터가 텍스트 값으로 저장되어 있지 않은지 확인하세요. 그렇지 않으면 VLOOKUP에서 정확하지 않은 값이나 예기치 않은 값을 반환할 수 있습니다.
첫 번째 열을 정렬합니다. range_lookup가 TRUE일 때 VLOOKUP을 사용하기 전에 table_array의 첫 번째 열을 정렬합니다.
와일드카드 문자를 사용합니다. range_lookup이 FALSE이고 lookup_value가 텍스트이면 lookup_value에 와일드카드 문자(물음표(?) 및 별표(*))를 사용할 수 있습니다. 물음표는 한 문자에 해당합니다. 별표는 개수에 상관없는 임의의 문자열에 해당합니다. 실제 물음표나 별표를 찾으려면 해당 문자 앞에 물결표(~)를 입력합니다.
예를 들어 =VLOOKUP("Fontan?",B2:E7,2,FALSE)는 다를 수 있는 마지막 문자를 사용하여 Fontana의 모든 인스턴스를 검색합니다.
데이터에 잘못된 문자가 없는지 확인합니다. 첫 번째 열에서 텍스트 값을 검색할 때는 첫 번째 열에 있는 데이터에 앞/뒤 공백을 두거나, 곧은 따옴표(' 또는 ")와 둥근 따옴표(' 또는 ")를 일관성 없이 사용하거나, 인쇄할 수 없는 문자를 사용하지 않도록 주의하세요. 그럴 경우 정확하지 않은 값이나 예기치 않은 값이 반환될 수 있습니다.
정확한 결과를 얻으려면 CLEAN 함수 또는 TRIM 함수를 사용하여 셀에서 표 값 뒤에 오는 공백을 제거하세요.

추가 지원

언제든지 Excel 기술 커뮤니티의 전문가에게 문의하거나 커뮤니티에서 지원을 받을 수 있습니다.