본문 바로가기
엑셀

[엑셀] VLOOKUP 대신 INDEX, MATCH 사용하기

by LightBlogger 2018. 8. 28.

다음과 같은 자료가 있다고 할 때



특정 id에 해당하는 product를 불러오고 싶다면


다음과 같이 Vlookup 을 사용할 수 있다.




Vlookup 수식내 요소들의 순서는 다음과 같이 기억하자.


=VLOOKUP(F4A:B2, 0)


얘를 이 범위에서 찾아서 두 번째 값을 출력. 


마지막 인자인 0은 완전일치를 뜻하며, 일반적인 경우에는 항상 0을 사용하므로 수식의 일부처럼 기억해 두면 좋다.



실제 함수를 완성하는 모습은 다음과 같다.


1. =VL 까지 입력 후 Tap 키를 이용하여 Vlookup 입력


2. F4 셀 클릭 ('얘를' 이라고 중얼거리며)


3. 콤마 입력


4. 마우스를 A열 위에서 B열까지 드래그 ('이 범위에서' 라고 중얼거리며)


5. 콤마 입력


6. 2 입력 ('두 번째 값' 이라고 중얼거리며)


7. 콤마 입력


8. 0 입력


9. 엔터 (닫는 괄호는 자동으로 입력됨.)



조금 익숙해지면 Vlookup 을 입력하는 순간 오른손은 마우스에, 왼손은 콤마 위치에 가 있게 된다.




만일 id에 해당하는 가격을 찾으려면 다음과 같이 되겠다.




=VLOOKUP(F4A:D4, 0)


얘를 이 범위에서 찾아서 네 번째 값을 출력. 



같은 작업을 Match 와 Index를 이용해 수행해 보자.



일단 주어진 값의 위치를 A:A에서 찾는 데 Match를 이용한다.


=MATCH(F4, A:A, 0)


얘가 여기 어디 있는지 출력


역시 0은 완전일치를 뜻한다. 수식의 일부처럼 기억해 두자.




id 7은 A:A 의 8번째(=A8)에 위치한다고 한다.


'8번째' 라는 값은 유용한데, 이제 만일 그것에 해당하는 product 값을 출력하려면 


B:B 의 8번째


price를 출력하려면


D:D 의 8번째


와 같이 지정해 주면 수식이 완성된다. 이를 위해 Index를 사용한다.




다소 복잡해 보이지만, 이전의 Match를 제외하면 다음과 같은 의미다.


=INDEX(B:B, MATCH(F4,A:A,0))


B:B에서 8번째


가격을 얻기 위해서는 B:B만 D:D로 변경해 주면 된다.



=INDEX(D:DMATCH(F4,A:A,0))


D:D에서 8번째




생각보다 어렵지 않다.


하지만 "얘를 이 범위에서 찾아서 두 번째..." 를 읊조리면서 VLookup을 사용할 수 있을 정도로 이미 Vlookup에 익숙해졌다면


아무래도 수식 두 개를 조합해야 하는 Index, Match 는 상대적으로 번거로워보이는 것이 사실이다.



Index, Match 조합의 강점은 어디에 있는지, 다음 포스팅에서 이어서 알아보자.


2018/08/29 - [엑셀] - [엑셀] VLOOKUP 대신 INDEX, MATCH 를 사용하면 좋은 4가지 경우




반응형

댓글