본문 바로가기

Computer/Excel/Powerpoint

[Excel] vlookup 다중 조건 - INDEX, MATCH

vlookup/hlookup은 표에서 매핑된 값을 쉽게 찾을 수 있지만, 조건의 개수가 한 개로 제한된다. 따라서 여러 조건이 걸려있을 경우에는 다른 함수를 써야 하는데, 크게 두 방법이 있다.




1. 조건을 묶어 새로운 열을 만들기


위와 같이 두 가지 조건(회사/번호)로 이름을 찾는다고 가정하자. 조건을 묶는 것은 기존의 vlookup처럼 찾는 값을 1개로 만드는 방법이다. 따라서 새로운 열을 만들고 조건열을 지정하는 것이다.





C열을 만들고 내용에 앞에 두 값을 &로 붙여 새로운 값을 준다. 그리고 vlookup의 함수를 다음과 같이 구성한다.



찾는 값이 C열이므로 첫 인자가 G4&H4임을 유의하자.





2. index / match 함수 사용하기


1번의 방법은 간편하고 vlookup을 사용할 수 있는 장점이 있는 반면 조건이 늘어나면 골치가 아프다. 따라서 index/match 함수를 통해 간편하게 해보자.


우선 index 함수는 다음과 같이 구성된다.
index (찾는 행렬, 행번호, 열번호(옵션)) = 해당 행(+열)의 값을 반환

여기서 행 번호를 찾기 위해 match 함수를 쓸 것이다.match함수는 다음과 같이 구성된다.
match (찾는 값, 찾을 행렬, 매칭방법) = 해당 값의 상대위치 반환
즉 match로 몇 번째 값인지 확인후 index로 가져오는 방식이다.식은 아래와 같이 구성된다.


중요한 것은, 이 방법은 matrix function(행렬 연산)이기때문에, 그냥 엔터를 치면 안된다는 점이다.


꼭 CSE! (CtrlShift Enter)를 눌러주어야 한다. 안 그러면 위의 값처럼 #value가 뜬다.

정상적으로 입력하면, 식에 {}가 붙으면서 아래와 같이 계산이 된다.