본문 바로가기
카테고리 없음

vlookup함수 대신 index, match함수를 사용하는 이유

by ¶&§★○§ 2021. 12. 1.
728x90
반응형
SMALL

vlookup함수 대신 index, match함수를 사용하는 이유

 

처음에 vlookup함수를 사용할 때 엑셀의 신세계를 경험했던 사람들이 많을 것이다. 

내가 찾고자 하는 데이터를 입력했을 때 그 데이터에 연관되어 있는 값이 자동으로 출력되는 모습은 조금 오버해서 실로 충격적이었을 수 있다. 

 

나의 엑셀 실력은 vlookup함수를 알기 전과 알고 난 후로 나뉜다고 할 정도로 vlookup함수를 처음으로 다루기 시작한 날의 기분은 이루 말로 할 수 없을 정도였다. 하지만 vlookup함수를 사용하는 나의 엑셀 실력이 중급 정도는 된다고 느끼는 어느 날 vlookup함수가 적용되지 않는 순간이 온다. 

뭐가 잘못됐는지, 고민해도 해결이 되지 않는다. 이런경우 어떻게 해야 할까?

 

<목차>

1. vlookup함수의 한계

2. index함수와 match함수를 vlookup함수 대신 사용하는 경우


1. vlookup함수의 한계

업무를 하다보면 이런 경우는 vlookup함수가 최강이 아니라는 것을 알게 되는 때가 온다. 이런 경우는 vlookup함수를 어떻게 써야 하나? 라는 의문점이 생길 때가 있는 것이다. 

바로 아래의 그림과 같은 경우이다. 

vlookup함수의 오류가 발생하는 경우
vlookup함수의 오류가 발생하는 경우

그림을 통해서도 알 수 있다시피 기준이 되어 "찾고자 하는 데이터 값"이 왼쪽에 위치할 때 table표를 참고하여 데이터 값을 자동으로 불러 오고자 한다면, 이때는 vlookup함수를 사용할 수 없다. 

즉 table표에는 물품의 종류를 나타내는 데이터 값이 수입일자보다 오른쪽에 위치해 있는데

정작 물품의 종류 데이터를 기준으로 오른쪽에 수입일자를 자동으로 정렬하려고 하는 경우에는 vlookup함수를 사용할 수 위의 그림처럼 오류가 발생한다. 

왜 그럴까?

왜냐하면 vlookup함수는 찾고자 하는 데이터 값(물품의 종류)이 참고하고자 하는 데이터(table표) 속에서 불러오고자 하는 데이터 값보다 앞선 열에 위치할 때는 사용할 수 없다. 결국 불러오고자 하는 열이 찾고자 하는 데이터 열보다 오른쪽에 배열되어 있을때만 사용할 수 있는 함수이다. 

 

2. index함수와 match함수를 vlookup함수 대신 사용하는 경우

그렇다면 찾고자 하는 데이터 값이 참고하고자 하는 데이터 값이 찾고자 하는 데이터 값보다 왼쪽에 위치하는 경우에는 어떻게 해야 할까?

이경우에는 vlookup함수를 사용할수 없기 때문에 index와 match함수를 같이 사용하게 된다.

index, match함수를 사용해야 하는경우
index, match함수를 사용해야 하는경우

앞서 포스팅했던 것처럼 index함수는 행과 열의 교차되는 부분의 값을 출력하는 것인데, index함수의 인수를 숫자 대신 match함수로 행 번호와 열 번호를 지정해주게 됨으로써 두 함수가 만나 마치 하나의 함수처럼 사용되어 vlookup함수가 가지고 있는 한계를 극복하게 된다. 

 

이제 하나만 기억하도록 하자, 

vlookup함수는 기준 데이터를 자동으로 가지고 오는 데이터 값이 참고 table표의 오른쪽에 위치해 있을 때 사용하고,

index, match함수는 기준 데이터를 기준으로 가지고 오는 데이터 값이 좌우 상관없이 사용할 수 있다는 것을,

 

결국 vlookup함수를 index, match함수가 대신할 수 있다. index, match함수를 조합할 수 있게 되면 또 다른 신세계를 경험하게 될 것이다.  

 

 

728x90
반응형
LIST

댓글