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

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

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

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

브라우저가 비디오를 지원하지 않습니다. Microsoft Silverlight, Adobe Flash Player 또는 Internet Explorer 9를 설치하세요.

팁: VLOOKUP의 비결은 찾고자 하는 값(Fruit)이 찾고자 하는 반환 값(Amount)의 왼쪽에 있도록 데이터를 구성하는 것입니다.

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 인수에 지정한 셀 범위의 첫 번째 열에 있어야 합니다.

예를 들어 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이고 찾을 수 없음이 표시됩니다.

예제 4

=INT(YEARFRAC(DATE(2014,6,30),VLOOKUP(105,A2:E7,5,FLASE),1))



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

예제 5

IF(ISNA(VLOOKUP(105,A2:E7,2,FLASE))=TRUE,"Employee not found",VLOOKUP(105,A2:E7,2,FALSE))



IF는 VLOOKUP이 105(lookup_value)에 대한 B열의 성 값을 반환하는지 확인합니다. VLOOKUP에서 성을 찾으면 IF가 성을 표시하고, 그렇지 않으면 IF가 직원을 찾을 수 없음을 반환합니다. ISNA는 VLOOKUP이 #N/A를 반환하는 경우 오류가 #N/A 대신 직원을 찾을 수 없음으로 대체되는지 확인합니다.



이 예제에서 반환 값은 105에 해당하는 성인 Burke입니다.

VLOOKUP을 사용하여 테이블 중 하나에 다른 모든 테이블과 공통되는 필드가 있는 한 여러 테이블을 하나로 결합할 수 있습니다. 이는 여러 테이블을 데이터 원본으로 사용하는 데이터 기능을 지원하지 않는 이전 버전의 Excel을 사용하는 사람들과 통합 문서를 공유해야 하는 경우에 특히 유용합니다. 원본을 하나의 테이블로 결합하고 데이터 기능의 데이터 원본을 새 테이블이 있으면 데이터 기능을 이전 Excel 버전에서 사용할 수 있습니다(데이터 기능 자체가 이전 버전에서 지원되는 경우).

VLOOKUP을 사용하여 다른 테이블에서 데이터를 가져오는 열이 있는 워크시트

여기에서 열 A-F 및 H에는 워크시트의 값만 사용하는 값 또는 수식이 있고 나머지 열은 VLOOKUP을 사용하고 열 A(클라이언트 코드) 및 열 B(변호사)의 값을 사용하여 다른 테이블에서 데이터를 가져옵니다.

  1. 공통 필드가 있는 테이블을 새 워크시트에 복사하고 이름을 지정합니다.

  2. 데이터 > 데이터 도구 > 관계를 클릭하여 관계 관리 대화 상자를 엽니다.

    관계 관리 대화 상자
  3. 나열된 각 관계에 대해 다음 사항에 유의하세요.

    • 테이블을 연결하는 필드(대화 상자의 괄호 안에 나열됨). VLOOKUP 수식에 대한 lookup_value입니다.

    • 관련 Lookup 테이블 이름입니다. VLOOKUP 수식의 table_array입니다.

    • 새 열에 원하는 데이터가 있는 관련 Lookup 테이블의 필드(열). 이 정보는 관계 관리 대화 상자에 표시되지 않습니다. 검색하려는 필드를 보려면 관련 Lookup 테이블을 확인해야 합니다. 열 번호(A=1)를 기록하고 싶습니다. 이는 수식의 col_index_num입니다.

  4. 새 테이블에 필드를 추가하려면 3단계에서 수집한 정보를 사용하여 첫 번째 빈 열에 VLOOKUP 수식을 입력합니다.

    이 예제에서 열 G는 변호사(lookup_value)를 사용하여 수식 =VLOOKUP([@Attorney], tbl_Attorney,4, FALSE)로 변호사 워크시트 테이블인 tblAttorney(table_array)의 네 번째 열(col_index_num = 4)에서 청구율 데이터를 가져옵니다.

    수식은 셀 참조와 범위 참조를 사용할 수도 있습니다. 이 예에서는 =VLOOKUP(A2,'Attorneys'!A:D,4,FALSE)입니다.

  5. 필요한 모든 필드가 생길 때까지 필드를 계속 추가하세요. 여러 테이블을 사용하는 데이터 기능이 포함된 통합 문서를 준비하려는 경우 데이터 기능의 데이터 원본을 새 테이블로 변경합니다.

문제

원인

잘못된 값 반환

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! 오류를 해결하는 방법에 대한 자세한 내용은 #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 기술 커뮤니티에서 전문가에게 문의하거나 커뮤니티에서 지원을 받을 수 있습니다.

참고 항목

XLOOKUP 함수

비디오: VLOOKUP 사용 시기 및 방법

참조 카드: VLOOKUP 리프레셔

VLOOKUP 함수에서 발생하는 #N/A 오류를 수정하는 방법

VLOOKUP, INDEX 또는 MATCH를 사용하여 값 조회

HLOOKUP 함수

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.