목차
이 예는 여러 기준을 조회하고, 특정 인스턴스 또는 모든 일치 항목을 반환하고, 여러 시트에서 동적 Vlookup을 수행하는 방법 등을 알려줍니다.
두 번째 부분입니다. Excel VLOOKUP의 기능을 활용하는 데 도움이 되는 시리즈입니다. 예제는 이 기능이 어떻게 작동하는지 알고 있음을 의미합니다. 그렇지 않은 경우 Excel에서 VLOOKUP의 기본 사용부터 시작하는 것이 좋습니다.
더 진행하기 전에 다음 구문에 대해 간단히 알려드리겠습니다.
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup] )이제 모든 사람이 같은 페이지에 있으므로 고급 VLOOKUP 수식 예를 자세히 살펴보겠습니다.
여러 기준을 Vlookup하는 방법
The Excel VLOOKUP 기능은 데이터베이스에서 특정 값을 검색할 때 정말 유용합니다. 그러나 중요한 기능이 부족합니다. 구문은 하나의 조회 값만 허용합니다. 하지만 여러 조건으로 조회하고 싶다면 어떻게 해야 할까요? 선택할 수 있는 몇 가지 솔루션이 있습니다.
공식 1. 두 가지 기준이 있는 VLOOKUP
주문 목록이 있고 두 가지 기준에 따라 수량을 찾고 싶다고 가정합니다. 고객 이름 및 제품 . 복잡한 요소는 아래 표와 같이 각 고객이 여러 제품을 주문했다는 것입니다.
일반적인 VLOOKUP 공식은 이 상황에서 작동하지 않습니다. 를 기반으로 일치region:
이전 예와 마찬가지로 몇 가지 이름을 정의하는 것으로 시작합니다.
- CA 시트의 범위 A2:B5는 CA_Sales .
- FL 시트의 범위 A2:B5 이름은 FL_Sales 입니다.
- KS 시트의 범위 A2:B5 이름은 KS_Sales .
보시다시피 이름이 지정된 모든 범위에는 공통 부분( Sales )과 고유 부분( CA , FL)이 있습니다. , KS ). 우리가 만들 수식에 필수적이므로 비슷한 방식으로 범위 이름을 지정해야 합니다.
공식 1. 다른 시트에서 동적으로 데이터를 가져오는 간접 VLOOKUP
작업이 여러 시트에서 데이터를 검색하는 것이므로 VLOOKUP INDIRECT 수식이 최고의 솔루션입니다. 간결하고 이해하기 쉽습니다.
이 예에서는 다음과 같은 방식으로 요약 테이블을 구성합니다.
- A2와 A3에 관심상품을 입력한다. 조회 값입니다.
- B1, C1 및 D1에 명명된 범위의 고유 부분을 입력합니다.
이제 고유 부분(B1)을 포함하는 셀을 연결합니다. 공통 부분("_Sales")을 포함하고 결과 문자열을 INDIRECT에 제공합니다.
INDIRECT(B$1&"_Sales")
INDIRECT 함수는 문자열을 Excel에서 이해할 수 있는 이름으로 변환하고 여기에 입력합니다. VLOOKUP의 table_array 인수:
=VLOOKUP($A2, INDIRECT(B$1&"_Sales"), 2, FALSE)
위 수식은 B2로 이동한 다음 오른쪽 아래로 복사합니다.
제발 조회 값($A2)에서수식이 오른쪽으로 복사될 때 열이 고정된 상태로 유지되도록 절대 셀 참조로 열 좌표를 잠갔습니다. B$1 참조에서 수식이 복사되는 열에 따라 열 좌표가 변경되고 INDIRECT에 적절한 이름 부분을 제공하기를 원하기 때문에 행을 잠갔습니다.
기본 테이블이 다르게 구성되어 있는 경우 행의 조회 값과 열의 범위 이름의 고유한 부분은 조회 값(B$1)의 행 좌표와 이름 부분의 열 좌표를 잠가야 합니다. ($A2):
=VLOOKUP(B$1, INDIRECT($A2&"_Sales"), 2, FALSE)
공식 2. 여러 시트를 조회하기 위한 VLOOKUP 및 중첩 IF
2~3개의 조회 시트만 있으면 중첩된 IF 함수와 함께 매우 간단한 VLOOKUP 수식을 사용하여 특정 셀의 키 값을 기반으로 올바른 시트를 선택할 수 있습니다.
=VLOOKUP($A2, IF(B$1="CA", CA_Sales, IF(B$1="FL", FL_Sales, IF(B$1="KS", KS_Sales,""))), 2, FALSE)
여기서 $A2 는 조회 값(항목 이름)이고 B$1은 키 값(상태):
이 경우 반드시 이름을 정의할 필요는 없으며 외부 다른 시트나 통합 문서를 참조하는 참조입니다.
더 많은 수식 exa 자세한 내용은 Excel에서 여러 시트에 걸쳐 VLOOKUP하는 방법을 참조하세요.
Excel에서 VLOOKUP을 사용하는 방법입니다. 읽어 주셔서 감사합니다. 다음 주에 저희 블로그에서 뵙기를 바랍니다!
다운로드용 실습 워크북
고급 VLOOKUP 수식 예제(.xlsx파일)
사용자가 지정하는 단일 조회 값입니다.이를 극복하려면 도우미 열을 추가하고 거기에서 두 개의 조회 열( Customer 및 Product )의 값을 연결할 수 있습니다. 도우미 열은 Excel VLOOKUP이 항상 조회 값을 검색하는 곳이기 때문에 테이블 배열에서 가장 왼쪽 열이어야 합니다.
따라서 해당 열에 아래 수식을 복사합니다. 이렇게 하면 도우미 열이 B 열과 C 열의 값으로 채워집니다(가독성을 높이기 위해 사이에 공백 문자가 연결됨).
=B2&" "&C2
그런 다음 표준 VLOOKUP 수식을 사용하여 lookup_value 인수의 두 기준(공백으로 구분됨:
=VLOOKUP("Jeremy Sweets", A2:D11, 4, FALSE)
또는 별도의 셀(이 경우 G1 및 G2)에 기준을 입력하고 연결합니다. cells:
=VLOOKUP(G1&" "&G2, A2:D11, 4, FALSE)
테이블 배열의 네 번째 열 D에서 값을 반환하기 위해 col_index_num 에 4를 사용합니다. range_lookup 인수는 정확한 일치를 Vlookup하기 위해 FALSE로 설정됩니다. 아래 스크린샷은 결과를 보여줍니다.
조회 테이블이 다른 시트 에 있는 경우 VLOOKUP 수식에 시트 이름을 포함합니다. 예를 들면 다음과 같습니다.
=VLOOKUP(G1&" "&G2, Orders!A2:D11, 4, FALSE)
또는 수식을 더 쉽게 읽을 수 있도록 조회 테이블의 이름이 지정된 범위(예: 주문 )를 만듭니다.
=VLOOKUP(G1&" "&G2, Orders, 4, FALSE)
자세한 내용은 방법을 참조하십시오.Excel의 다른 시트에서 Vlookup.
참고. 공식이 올바르게 작동하려면 도우미 열의 값이 lookup_value 인수와 정확히 같은 방식으로 연결되어야 합니다. 예를 들어 도우미 열(B2&" "&C2)과 VLOOKUP 수식(G1&" "&G2) 모두에서 기준을 구분하기 위해 공백 문자를 사용했습니다.
공식 2. 여러 조건을 가진 Excel VLOOKUP
이론적으로 위의 접근 방식을 Vlookup에 두 가지 이상의 기준으로 사용할 수 있습니다. 그러나 몇 가지 주의 사항이 있습니다. 첫째, 조회 값이 255자로 제한되고 둘째, 워크시트의 디자인이 도우미 열 추가를 허용하지 않을 수 있습니다.
다행히도 Microsoft Excel은 동일한 작업을 수행하는 여러 가지 방법을 제공하는 경우가 많습니다. 여러 기준을 Vlookup하려면 INDEX MATCH 조합이나 최근 Office 365에 도입된 XLOOKUP 기능을 사용할 수 있습니다.
예를 들어 3개의 다른 값( 날짜 , 고객 이름 및 제품 ), 다음 수식 중 하나를 사용합니다.
=INDEX(D2:D11, MATCH(1, (G1=A2:A11) * (G2=B2:B11) * (G3=C2:C11), 0))
=XLOOKUP(1, (G1=A2:A11) * (G2=B2:B11) * (G3=C2:C11), D2:D11)
여기서:
- G1은 기준 1(날짜)
- G2는 기준 2(고객 이름)
- G3은 기준 3(제품)
- A2:A11은 조회 범위 1(날짜)
- B2:B11은 조회 범위 2(고객 이름)
- C2:C11은 조회 범위 3(제품)
- D2:D11은 반품입니다. 범위(수량)
참고. Excel 365를 제외한 모든 버전에서 INDEXMATCH는 Ctrl + Shift + Enter를 눌러 CSE 배열 수식으로 입력해야 합니다. 동적 배열을 지원하는 Excel 365에서는 일반 수식으로도 작동합니다.
수식에 대한 자세한 설명은 다음을 참조하세요.
- 여러 기준이 있는 XLOOKUP
- 여러 기준이 있는 INDEX MATCH 수식
방법 VLOOKUP을 사용하여 두 번째, 세 번째 또는 n번째 일치 가져오기
이미 알고 있듯이 Excel VLOOKUP은 하나의 일치 값만 가져올 수 있으며, 더 정확하게는 처음 찾은 일치 항목을 반환합니다. 그러나 조회 배열에 일치 항목이 여러 개 있고 두 번째 또는 세 번째 인스턴스를 얻으려면 어떻게 해야 할까요? 작업이 상당히 복잡해 보이지만 솔루션은 존재합니다!
공식 1. Vlookup N번째 인스턴스
한 열에는 고객 이름이 있고 다른 열에는 고객이 구매한 제품이 있고 다음을 보고 있다고 가정합니다. 주어진 고객이 구매한 두 번째 또는 세 번째 제품을 찾습니다.
가장 간단한 방법은 첫 번째 예에서 했던 것처럼 테이블 왼쪽에 도우미 열을 추가하는 것입니다. 그러나 이번에는 " John Doe1 ", " John Doe2 " 등과 같은 고객 이름과 발생 번호로 채울 것입니다.
발생을 가져오려면 혼합 범위 참조와 함께 COUNTIF 함수를 사용하십시오(첫 번째 참조는 절대 참조이고 두 번째 참조는 $B$2:B2와 같이 상대적임). 수식이 복사되는 셀의 위치에 따라 상대 참조가 달라지므로 3행에서는 $B$2:B3, 4행에서는 -$B$2:B4 등.
고객 이름(B2)과 연결된 수식은 다음 형식을 취합니다.
=B2&COUNTIF($B$2:B2, B2)
위 수식은 A2로 이동합니다. , 그런 다음 필요한 만큼 셀에 복사합니다.
그런 다음 별도의 셀(F1 및 F2)에 대상 이름과 발생 번호를 입력하고 아래 수식을 사용하여 특정 발생을 Vlookup합니다.
=VLOOKUP(F1&F2, A2:C11, 3, FALSE)
공식 2. Vlookup 2번째 발생
조회 값의 두 번째 인스턴스를 찾는 경우 다음을 수행할 수 있습니다. 도우미 열 없이 수행하십시오. 대신 MATCH:
=VLOOKUP(E1, INDIRECT("A"&(MATCH(E1, A2:A11, 0)+2)&":B11"), 2, FALSE)
와 함께 INDIRECT 함수를 사용하여 테이블 배열을 동적으로 생성합니다. 여기서:
- E1은 조회 값입니다.
- A2:A11은 조회 범위입니다.
- B11은 조회 테이블의 마지막(오른쪽 아래) 셀입니다.
위 수식은 조회 테이블의 데이터 셀이 행 2에서 시작하는 특정 경우에 대해 작성되었습니다. 테이블이 시트 중간에 있는 경우 이 범용 공식을 사용합니다. 여기서 A1은 다음을 포함하는 조회 테이블의 왼쪽 상단 셀입니다. 열 머리글:
=VLOOKUP(E1, INDIRECT("A"&(MATCH(E1, A2:A11, 0)+1+ROW(A1))&":B11"), 2, FALSE)
이 공식의 작동 방식
다음은 동적 vlookup 범위 를 생성하는 공식의 핵심 부분입니다.
INDIRECT("A"&(MATCH(E1, A2:A11, 0)+2)&":B11")
정확한 일치(마지막 인수의 0)로 구성된 MATCH 함수는 대상 이름(E1)을 이름 목록(A2:A11)과 비교하고 처음 찾은 위치를 반환합니다. 매치, 즉 3우리의 경우. 이 숫자는 vlookup 범위의 시작 행 좌표로 사용되므로 여기에 2를 더합니다(첫 번째 인스턴스를 제외하려면 +1, 열 헤더가 있는 행 1을 제외하려면 +1). 또는 1+ROW(A1)을 사용하여 머리글 행의 위치(이 경우 A1)를 기준으로 필요한 조정을 자동으로 계산할 수 있습니다.
결과적으로 다음과 같은 텍스트 문자열을 얻습니다. INDIRECT는 범위 참조로 변환합니다.
INDIRECT("A"&5&":B11") -> A5:B11
이 범위는 VLOOKUP의 table_array 인수로 이동하여 행 5에서 검색을 시작하도록 하고 첫 번째 인스턴스는 제외합니다. 조회 값:
VLOOKUP(E1, A5:B11, 2, FALSE)
Excel에서 여러 값을 Vlookup하고 반환하는 방법
Excel VLOOKUP 함수는 하나의 일치 항목만 반환하도록 설계되었습니다. 여러 인스턴스를 Vlookup하는 방법이 있습니까? 예, 쉽지는 않지만 있습니다. 이를 위해서는 INDEX, SMALL과 같은 여러 함수를 조합하여 사용해야 하며 ROW는 배열 수식입니다.
예를 들어, 아래는 조회 범위 B2:B16에서 조회 값 F2의 모든 항목을 찾고 여러 개를 반환할 수 있습니다. 열 C에서 일치:
{=IFERROR(INDEX($C$2:$C$11, SMALL(IF($F$1=$B$2:$B$11, ROW($C$2:$C$11)-1,""), ROW()-1)),"")}
워크시트에 수식을 입력하는 방법에는 두 가지가 있습니다.
- 첫 번째 셀에 수식을 입력하고 Ctrl + Shift + Enter 를 누른 다음 몇 개의 셀을 더 아래로 드래그합니다.
- 단일 열에서 여러 인접 셀을 선택하고(아래 스크린샷에서 F1:F11) 수식을 입력한 다음 Ctrl +를 누릅니다.Shift + Enter를 눌러 완료합니다.
어느 쪽이든 수식을 입력하는 셀의 수는 가능한 최대 일치 수보다 크거나 같아야 합니다.
수식 논리에 대한 자세한 설명과 더 많은 예제는 Excel에서 여러 값을 VLOOKUP하는 방법을 참조하세요.
행과 열에서 Vlookup하는 방법(양방향 조회)
양방향 조회 (일명 매트릭스 조회 또는 2차원 조회 )는 특정 행과 열. 엑셀에서 2차원 조회를 하는 방법은 여러가지가 있지만 본 튜토리얼은 VLOOKUP 함수에 초점이 맞춰져 있기 때문에 자연스럽게 활용하도록 하겠습니다. VLOOKUP 수식을 계산하여 주어진 달의 특정 항목에 대한 판매 수치를 검색합니다.
A2:A9의 항목 이름, B1:F1의 월 이름, I1의 대상 항목 및 I2의 대상 월, 공식은 다음과 같습니다:
=VLOOKUP(I1, A2:F9, MATCH(I2, A1:F1, 0), FALSE)
이 공식 작동 방식
공식의 핵심 I1의 조회 값과 정확히 일치하는 항목을 검색하는 표준 VLOOKUP 함수입니다. 그러나 특정 월의 매출이 정확히 어떤 열에 있는지 알 수 없기 때문에 col_index_num 인수에 직접 열 번호를 제공할 수 없습니다. 해당 열을 찾기 위해 다음 MATCH를 사용합니다.function:
MATCH(I2, A1:F1, 0)
영어로 번역하면 공식은 다음과 같습니다. A1:F1에서 I2 값을 찾아 배열에서 상대적 위치를 반환합니다. 세 번째 인수에 0을 제공하여 조회 값과 정확히 동일한 값을 찾도록 MATCH에 지시합니다(VLOOKUP의 range_lookup 인수에 FALSE를 사용하는 것과 같습니다).
이후 Mar 는 조회 배열의 4번째 열에 있으며 MATCH 함수는 4를 반환하며 이는 VLOOKUP의 col_index_num 인수로 직접 이동합니다.
VLOOKUP(I1, A2:F9, 4, FALSE)
Please 월 이름이 B 열에서 시작하지만 조회 배열에 A1:I1을 사용한다는 점에 유의하십시오. 이는 MATCH에서 반환된 숫자가 VLOOKUP의 table_array 에 있는 열의 위치와 일치하도록 하기 위해 수행됩니다.
Excel에서 행렬 조회를 수행하는 방법을 자세히 알아보려면 INDEX MATCH MATCH를 참조하세요. 및 기타 2차원 조회를 위한 수식.
Excel에서 여러 Vlookup을 수행하는 방법(중첩된 Vlookup)
때로는 기본 테이블과 조회 테이블에 단일 열이 없는 경우가 있습니다. common, 두 테이블 간에 Vlookup을 수행하지 못하게 합니다. 그러나 찾고 있는 정보가 포함되어 있지 않지만 기본 테이블이 있는 공통 열 하나와 조회 테이블이 있는 다른 공통 열이 있는 다른 테이블이 있습니다.
아래 이미지는 상황을 보여줍니다.
목표는 기본 테이블에 가격을 복사하는 것입니다. 항목 ID . 문제는 가격이 포함된 테이블에 항목 ID 가 없다는 것입니다. 즉, 하나의 수식에서 두 개의 Vlookup을 수행해야 합니다.
편의를 위해 두 개의 명명된 범위 먼저:
- 조회 테이블 1의 이름은 제품 (D3:E10)
- 조회 테이블 2의 이름은 가격 ( G3:H10 )
테이블은 동일하거나 다른 워크시트에 있을 수 있습니다.
이제 소위 이중 Vlookup을 수행합니다. , aka nested Vlookup .
먼저 항목을 기준으로 Lookup table 1( Products )에서 제품 이름을 찾는 VLOOKUP 수식을 만듭니다. id (A3):
=VLOOKUP(A3, Products, 2, FALSE)
다음으로 위 수식을 다른 VLOOKUP 함수의 lookup_value 인수에 넣어 조회 테이블 2( 가격 ) 중첩된 VLOOKUP에서 반환된 제품 이름 기준:
=VLOOKUP(VLOOKUP(A3, Products, 2, FALSE), Prices, 2, FALSE)
아래 스크린샷은 작동 중인 중첩된 Vlookup 수식을 보여줍니다.
동적으로 여러 시트를 Vlookup하는 방법
가끔, y 동일한 형식의 데이터가 여러 워크시트에 분할되어 있을 수 있습니다. 그리고 당신의 목표는 주어진 셀의 키 값에 따라 특정 시트에서 데이터를 가져오는 것입니다.
이것은 예에서 더 쉽게 이해할 수 있습니다. 동일한 형식의 지역 판매 보고서가 몇 개 있고 특정 제품의 판매 수치를 특정 형식으로 가져오려고 한다고 가정해 보겠습니다.