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_num가 table-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 기술 커뮤니티의 전문가에게 문의하거나 커뮤니티에서 지원을 받을 수 있습니다.