목차
이 자습서에서는 Excel에서 INDEX 및 MATCH를 사용하는 방법과 VLOOKUP보다 나은 방법을 보여줍니다.
최근 여러 기사에서 초보자에게는 VLOOKUP 기능의 기본 사항을 설명하고 고급 사용자에게는 더 복잡한 VLOOKUP 수식 예제를 제공하기 위해 많은 노력을 기울였습니다. 이제 VLOOKUP을 사용하지 말라고 말하지 않고 Excel에서 수직 조회를 수행하는 다른 방법을 보여드리겠습니다.
"그게 필요한 이유는 무엇인가요?" 당신은 궁금해 할 수 있습니다. VLOOKUP에는 많은 상황에서 원하는 결과를 얻지 못하게 하는 많은 제한 사항이 있기 때문입니다. 반면에 INDEX MATCH 조합은 더 유연하고 여러 측면에서 VLOOKUP보다 뛰어난 많은 멋진 기능을 가지고 있습니다.
Excel INDEX 및 MATCH 함수 - 기본
이 자습서의 목적은 INDEX 및 MATCH 함수의 조합을 사용하여 Excel에서 vlookup을 수행하는 다른 방법을 보여 주는 것이므로 해당 구문에 대해 자세히 설명하지 않고 사용합니다. 일반적인 개념을 이해하는 데 필요한 최소한의 내용만 다룬 다음 VLOOKUP 대신 INDEX MATCH를 사용할 때의 모든 이점을 보여주는 수식 예를 자세히 살펴보겠습니다.
INDEX 함수 - 구문 및 사용법
Excel INDEX 함수는 지정한 행 및 열 번호를 기준으로 배열의 값을 반환합니다. INDEX 함수의 구문은 간단합니다.
( 기준1= 범위1) * ( 기준2= 범위2), 0))}참고. Ctrl + Shift + Enter 단축키로 완성해야 하는 배열 수식입니다.
아래 샘플 표에서 Customer , 2가지 기준으로 금액을 구한다고 가정합니다. Product .
다음 INDEX MATCH 공식은 효과가 있습니다.
=INDEX(C2:C10, MATCH(1, (F1=A2:A10) * (F2=B2:B10), 0))
여기서 C2:C10은 값을 반환할 범위입니다. F1 는 기준 1, A2:A10은 기준 1과 비교할 범위, F2는 기준 2, B2:B10은 기준 2와 비교할 범위입니다.
Ctrl + Shift + Enter를 눌러 수식을 올바르게 입력해야 합니다. , Excel은 스크린샷과 같이 중괄호로 자동 묶습니다.
워크시트에서 배열 수식을 사용하지 않으려면 INDEX 함수를 하나 더 추가합니다. 수식을 입력하고 일반적인 Enter 키로 완료합니다.
이 수식이 작동하는 방식
수식은 기본 INDEX MATCH 함수와 동일한 접근 방식을 사용합니다. 단일 열. 여러 기준을 평가하려면 각 개별 기준에 대한 일치 및 비일치 항목을 나타내는 둘 이상의 TRUE 및 FALSE 값 배열을 만든 다음 이러한 배열의 해당 요소를 곱합니다. 곱셈 연산은 TRUE와 FALSE를 각각 1과 0으로 변환하고 1이 모든 기준과 일치하는 행에 해당하는 배열을 생성합니다.조회 값이 1인 MATCH 함수는 배열에서 첫 번째 "1"을 찾아 해당 위치를 INDEX에 전달합니다. 그러면 지정된 열에서 이 행의 값이 반환됩니다.
비배열 수식은 다음에 의존합니다. 기본적으로 배열을 처리하는 INDEX 함수의 기능. 두 번째 INDEX는 0 row_num 로 구성되어 전체 열 배열을 MATCH로 전달합니다.
이는 수식 논리에 대한 높은 수준의 설명입니다. 자세한 내용은 Excel INDEX MATCH with multiple criteria를 참조하십시오.
Excel INDEX MATCH with AVERAGE, MAX, MIN
Microsoft Excel에는 최소, 최대 및 평균 값을 찾는 특수 기능이 있습니다. 범위. 하지만 해당 값과 연결된 다른 셀에서 값을 가져와야 하는 경우에는 어떻게 해야 할까요? 이 경우 MAX, MIN 또는 AVERAGE 함수를 INDEX MATCH와 함께 사용하십시오.
INDEX MATCH with MAX
D열에서 가장 큰 값을 찾고 C열에서 값을 반환하려면 같은 행에서 다음 수식을 사용합니다.
=INDEX(C2:C10, MATCH(MAX(D2:D10), D2:D10, 0))
INDEX MATCH with MIN
열 D에서 가장 작은 값을 찾고 열 C에서 연결된 값을 가져오려면 이 값을 사용합니다. :
=INDEX(C2:C10, MATCH(MIN(D2:D10), D2:D10, 0))
INDEX MATCH with AVERAGE
D2:D10에서 평균에 가장 가까운 값을 계산하고 C열에서 해당 값을 얻으려면 다음 공식을 사용합니다. 사용:
=INDEX(C2:C10, MATCH(AVERAGE(D2:D10), D2:D10, -1 ))
데이터 구성 방식에 따라 세 번째 인수(match_type)에 1 또는 -1을 제공합니다.MATCH 함수:
- 조회 열(이 경우 열 D)이 오름차순 으로 정렬된 경우 1을 입력합니다. 수식은 보다 작은 가장 큰 값을 계산합니다. 또는 평균값과 같습니다.
- 조회 열이 내림차순 으로 정렬된 경우 -1을 입력합니다. 공식은 평균값보다 크거나 가장 작은 값을 계산합니다.
- 조회 배열에 평균과 정확히 같은 값이 포함된 경우 정확히 일치하려면 0을 입력할 수 있습니다. 정렬이 필요하지 않습니다.
이 예에서는 D열의 모집단이 내림차순으로 정렬되므로 일치 유형에 -1을 사용합니다. 결과적으로 인구(13,189,000)가 평균(12,269,006)보다 더 많고 가장 근접하게 일치하므로 "Tokyo"가 됩니다.
VLOOKUP도 이러한 계산을 수행할 수 있지만 AVERAGE, MAX, MIN이 있는 VLOOKUP과 같은 계산을 수행할 수 있습니다. Excel의 수식이 조회 값을 찾을 수 없으면 #N/A 오류가 발생합니다. 표준 오류 표기법을 보다 의미 있는 것으로 바꾸려면 IFNA 함수에서 INDEX MATCH 수식을 래핑하십시오. 예를 들면 다음과 같습니다.
=IFNA(INDEX(C2:C10, MATCH(F1,A2:A10,0)), "No match is found")
그리고 이제 누군가가 조회 범위에 존재하지 않는 조회 테이블을 입력하면 수식은 사용자에게 일치 항목이 없음을 명시적으로 알려줍니다.found:
#N/A뿐만 아니라 모든 오류를 포착하려면 IFNA:
=IFERROR(INDEX(C2:C10, MATCH(F1,A2:A10,0)), "Oops, something went wrong!")
<대신 IFERROR 함수를 사용하세요. 3>
모든 오류는 수식의 가능한 오류에 대해 경고하기 때문에 많은 상황에서 모든 오류를 위장하는 것은 현명하지 않을 수 있음을 명심하십시오.
Excel에서 INDEX 및 MATCH를 사용하는 방법입니다. 수식 예제가 도움이 되기를 바라며 다음 주 블로그에서 뵙기를 기대합니다!
연습 워크북 다운로드
Excel INDEX MATCH 예제(.xlsx 파일)
INDEX(array, row_num, [column_num])다음은 각 매개변수에 대한 매우 간단한 설명입니다.
- array - 반환하려는 셀 범위 value from.
- row_num - 값을 반환하려는 배열의 행 번호입니다. 생략하면 column_num이 필요합니다.
- column_num - 값을 반환하려는 배열의 열 번호입니다. 생략하면 row_num이 필요합니다.
자세한 내용은 Excel INDEX 함수를 참조하세요.
다음은 가장 간단한 형식의 INDEX 수식 예입니다.
=INDEX(A1:C10,2,3)
이 수식은 셀 A1에서 C10까지 검색하여 두 번째 행과 세 번째 열에 있는 셀의 값 즉, 셀 C2를 반환합니다.
아주 쉽죠? 그러나 실제 데이터로 작업할 때는 원하는 행과 열을 거의 알지 못하므로 MATCH 함수가 유용합니다.
MATCH 함수 - 구문 및 사용법
Excel MATCH 함수 셀 범위에서 조회 값을 검색하고 범위에서 해당 값의 상대 위치 를 반환합니다.
MATCH 함수의 구문은 다음과 같습니다.
MATCH(lookup_value , lookup_array, [match_type])- lookup_value - 찾고 있는 숫자 또는 텍스트 값.
- lookup_array - 셀 범위 searched.
- match_type - 정확한 일치 또는 가장 가까운 일치를 반환할지 여부를 지정합니다.
- 1 또는 생략 - 조회 값보다 작거나 같은 가장 큰 값을 찾습니다. 조회 배열을 오름차순으로 정렬해야 합니다.
- 0 - 조회 값과 정확히 동일한 첫 번째 값을 찾습니다. INDEX/MATCH 조합에서는 거의 항상 정확한 일치가 필요하므로 MATCH 함수의 세 번째 인수를 0으로 설정합니다.
- -1 - lookup_value보다 크거나 같은 가장 작은 값을 찾습니다. 조회 배열을 내림차순으로 정렬해야 합니다.
예를 들어 B1:B3 범위에 "New-York", "Paris", "London", 아래 수식은 "London"이 범위의 세 번째 항목이기 때문에 숫자 3을 반환합니다.
=MATCH("London",B1:B3,0)
자세한 내용은 Excel MATCH 함수를 참조하세요.
At 첫눈에 MATCH 함수의 유용성이 의심스러워 보일 수 있습니다. 범위에서 값의 위치에 관심이 있는 사람은 누구입니까? 우리가 알고 싶은 것은 값 자체입니다.
조회 값(예: 행 및 열 번호)의 상대적 위치는 정확히 row_num 및 column_num INDEX 함수의 인수. 기억하시겠지만 Excel INDEX는 주어진 행과 열의 교차점에서 값을 찾을 수 있지만 정확히 원하는 행과 열을 결정할 수는 없습니다.
엑셀에서 INDEX MATCH 함수를 사용하는 방법
이제 기본 사항을 알았으니MATCH와 INDEX가 함께 작동하는 방식을 이미 이해하기 시작했습니다. 간단히 말해서 INDEX는 열 및 행 번호로 조회 값을 찾고 MATCH는 해당 번호를 제공합니다. 그게 다야!
수직 조회의 경우 MATCH 함수를 사용하여 행 번호를 결정하고 열 범위를 INDEX에 직접 제공합니다.
INDEX( 에서 값을 반환하는 열 , MATCH ( 조회 값 , 조회할 열 , 0))아직도 파악하기 어렵습니까? 예제를 보면 이해하기 쉬울 것입니다. 국가 수도와 그 인구 목록이 있다고 가정해 보겠습니다.
일본의 수도와 같은 특정 수도의 인구를 찾으려면 다음 INDEX MATCH 공식을 사용하십시오.
=INDEX(C2:C10, MATCH("Japan", A2:A10, 0))
이제 이 수식의 각 구성 요소가 실제로 수행하는 작업을 분석해 보겠습니다.
- MATCH 함수는 A2 범위에서 조회 값 "Japan"을 검색합니다. A10, 조회 배열에서 "Japan"이 세 번째이므로 숫자 3을 반환합니다.
- 행 번호는 INDEX의 row_num 인수로 직접 이동하여 해당 값을 반환하도록 지시합니다. row.
따라서 위 수식은 셀 C2에서 C10까지 검색하고 해당 범위의 세 번째 셀에서 값을 가져오는 간단한 INDEX(C2:C,3)로 바뀝니다. 두 번째 행부터 세기 시작하기 때문에 C4입니다.
수식에 도시를 하드코딩하고 싶지 않으세요? F1과 같은 일부 셀에 입력하고 셀에 공급MATCH를 참조하면 동적 조회 공식을 얻을 수 있습니다.
=INDEX(C2:C10, MATCH(F1,A2:A10,0))
중요 사항! INDEX의 array 인수는 MATCH의 lookup_array 인수에 있는 행 수와 일치해야 합니다. 그렇지 않으면 수식이 잘못된 결과를 생성합니다.
잠시만요… 단순히 다음 Vlookup 공식을 사용하지 않습니까? Excel MATCH INDEX의 불가해한 반전을 알아내려고 시간을 낭비하는 것이 무슨 소용이 있겠습니까?
=VLOOKUP(F1, A2:C10, 3, FALSE)
이 경우 아무 의미가 없습니다 :) 이 간단한 예는 데모용일 뿐입니다. INDEX 및 MATCH 기능이 함께 작동하는 방식에 대한 느낌을 얻을 수 있습니다. 아래의 다른 예는 VLOOKUP이 비틀거릴 때 많은 복잡한 시나리오를 쉽게 대처하는 이 조합의 진정한 힘을 보여줍니다.
팁:
- Excel 365 및 Excel 2021에서는 보다 현대적인 INDEX XMATCH 수식을 사용할 수 있습니다.
- Google 스프레드시트의 경우 이 도움말에서 INDEX MATCH가 포함된 수식 예를 참조하세요.
INDEX MATCH와 VLOOKUP
수직 조회에 사용할 함수를 결정할 때 대부분의 Excel 전문가는 INDEX MATCH가 VLOOKUP보다 훨씬 낫다는 데 동의합니다. 그러나 많은 사람들이 여전히 VLOOKUP을 사용합니다. 첫째는 더 간단하고 둘째는 Excel에서 INDEX MATCH 수식을 사용할 때의 모든 이점을 완전히 이해하지 못하기 때문입니다. 그러한 이해 없이는 아무도 배우기 위해 기꺼이 시간을 투자하지 않을 것입니다.더 복잡한 구문입니다.
아래에서 VLOOKUP에 비해 MATCH INDEX의 주요 이점을 지적하고 Excel 무기고에 추가할 가치가 있는지 여부를 결정합니다.
사용해야 하는 4가지 주요 이유 VLOOKUP
- 오른쪽에서 왼쪽 조회 대신 INDEX MATCH 교육을 받은 사용자라면 누구나 알고 있듯이 VLOOKUP은 왼쪽을 볼 수 없습니다. 즉, 조회 값은 항상 가장 왼쪽 열에 있어야 합니다. 탁자. INDEX MATCH는 왼쪽 조회를 쉽게 할 수 있습니다! 다음 예에서는 Excel에서 왼쪽으로 값을 Vlookup하는 방법을 보여줍니다.
- 열을 안전하게 삽입 또는 삭제합니다. VLOOKUP 수식이 깨지거나 새 열이 있을 때 잘못된 결과를 제공합니다. VLOOKUP의 구문에서 데이터를 가져오려는 열의 인덱스 번호를 지정해야 하기 때문에 조회 테이블에서 삭제되거나 추가됩니다. 당연히 컬럼을 추가하거나 삭제할 때 인덱스 번호가 변경됩니다.
INDEX MATCH를 사용하면 인덱스 번호가 아닌 반환 열 범위를 지정합니다. 결과적으로 연결된 모든 수식을 업데이트하는 것에 대해 걱정할 필요 없이 원하는 만큼 열을 자유롭게 삽입하고 제거할 수 있습니다.
- 조회 값 크기 제한 없음. VLOOKUP 기능을 사용할 때 조회 기준의 총 길이는 255자를 초과할 수 없습니다. 그렇지 않으면 #VALUE ! 오류. 따라서 데이터세트에 긴 문자열이 포함된 경우 INDEX MATCH가 유일하게 작동하는솔루션.
- 더 빠른 처리 속도. 테이블이 상대적으로 작은 경우 Excel 성능에 큰 차이가 거의 없습니다. 그러나 워크시트에 수백 또는 수천 개의 행이 포함되어 있고 결과적으로 수백 또는 수천 개의 수식이 있는 경우 Excel에서 조회만 처리하고 전체 테이블 배열이 아닌 열을 반환해야 하므로 MATCH INDEX가 VLOOKUP보다 훨씬 빠르게 작동합니다.
통합 문서에 VLOOKUP 및 SUM과 같은 복잡한 배열 수식이 포함된 경우 VLOOKUP이 Excel 성능에 미치는 영향이 특히 두드러질 수 있습니다. 요점은 배열의 각 값을 확인하려면 VLOOKUP 함수를 별도로 호출해야 한다는 것입니다. 따라서 배열에 포함된 값이 많고 통합 문서에 포함된 배열 수식이 많을수록 Excel 성능이 느려집니다.
또한보십시오: Excel: 텍스트 문자열에서 숫자 추출
Excel INDEX MATCH - 수식 예
알기 MATCH INDEX 함수를 배워야 하는 이유, 가장 흥미로운 부분으로 가서 이론적 지식을 실제로 어떻게 적용할 수 있는지 살펴보겠습니다.
오른쪽에서 왼쪽으로 조회하는 INDEX MATCH 공식
이미 언급했듯이 VLOOKUP은 왼쪽을 볼 수 없습니다. 따라서 조회 값이 가장 왼쪽 열이 아니면 Vlookup 수식이 원하는 결과를 가져올 가능성이 없습니다. Excel의 INDEX MATCH 함수는 보다 다재다능하며 조회 및 반환 열의 위치를 실제로 신경쓰지 않습니다.
이 예의 경우,샘플 테이블의 왼쪽에 순위 열을 추가하고 러시아 수도인 모스크바의 인구 순위를 파악해 보겠습니다.
G1의 조회 값을 사용하여 다음 수식을 사용하여 검색합니다. C2:C10에서 A2:A10:
=INDEX(A2:A10,MATCH(G1,C2:C10,0))
에서 해당 값을 반환합니다. 팁. 둘 이상의 셀에 대해 INDEX MATCH 수식을 사용하려는 경우 절대 셀 참조(예: $A$2:$A$10 및 $C$2:4C$10)로 두 범위를 모두 잠가야 합니다. 수식을 복사합니다.
INDEX MATCH MATCH를 사용하여 행과 열을 검색합니다.
위의 예에서 INDEX MATCH를 기존 VLOOKUP 대신 사용하여 미리 정의된 1열에서 값을 반환했습니다. 범위. 하지만 여러 행과 열을 조회해야 한다면 어떻게 해야 할까요? 즉, 소위 매트릭스 또는 양방향 조회를 수행하려면 어떻게 해야 합니까?
까다롭게 들릴 수 있지만 공식은 매우 유사합니다. 기본 Excel INDEX MATCH 함수와 한 가지 차이점만 있습니다. 맞춰보세요.
간단히 두 개의 MATCH 함수를 사용하세요. 하나는 행 번호를 얻고 다른 하나는 열 번호를 얻습니다. 그리고 맞히신 분들 축하드립니다 :)
INDEX (array, MATCH ( vlookup value , column to look up against , 0), MATCH ( hlookup value , row for look up against , 0))이제 아래 표를 보고 INDEX MATCH MATCH를 만들어 봅시다.지정된 연도에 해당 국가의 인구(백만 단위)를 찾는 공식입니다.
대상 국가가 G1(vlookup 값)이고 대상 연도가 G2(hlookup 값)인 경우 공식은 다음과 같은 모양을 취합니다. :
=INDEX(B2:D11, MATCH(G1,A2:A11,0), MATCH(G2,B1:D1,0))
이 수식이 작동하는 방식
복잡한 Excel 수식을 이해해야 할 때마다 더 작은 부분으로 나누고 각 개별 함수가 수행하는 작업을 확인하십시오.
MATCH(G1,A2:A11,0)
– 셀 G1("중국")의 값에 대해 A2:A11을 검색하고 해당 위치(2)를 반환합니다.
MATCH(G2,B1:D1,0))
– 검색을 통해 B1:D1 셀 G2("2015")의 값 위치(3)를 가져옵니다.
위의 행 및 열 번호는 INDEX 함수의 해당 인수로 이동합니다.
INDEX(B2:D11, 2, 3)
결과적으로 셀 D3의 값인 B2:D11 범위의 두 번째 행과 세 번째 열의 교차점에 있는 값을 얻습니다. 쉬운? 네!
여러 기준을 조회하기 위한 Excel INDEX MATCH
Excel VLOOKUP 자습서를 읽을 기회가 있었다면 이미 여러 기준으로 Vlookup에 대한 수식을 테스트했을 것입니다. 그러나 해당 접근 방식의 중요한 제한 사항은 도우미 열을 추가해야 한다는 것입니다. 좋은 소식은 Excel의 INDEX MATCH 함수가 원본 데이터를 수정하거나 재구성하지 않고도 두 개 이상의 기준으로 조회할 수 있다는 것입니다!
다음은 여러 기준이 있는 일반적인 INDEX MATCH 수식입니다.
{=INDEX( return_range , MATCH(1,