본문 바로가기

WeekdayLife

[엑셀] 다중조건에 대한 값 찾기(INDEX, MATCH, VLOOKUP, HLOOKUP)

 

 

다중조건에 대한 값 찾기(INDEX, MATCH, VLOOKUP, HLOOKUP)

 

예전에 어떤 블로그에서인가. 다중찾기 함수를 본적이 있다.

기억을 더듬어 다시 적어봤다.

 

아래와 같은 조건이 있다고 하자,

이 표 중에 서울지역의 학생수를 찾으려고 한다.

 

 

 

VLOOKUP과 MATCH함수를 사용해서 찾아보자

** 컴활1급 시험을 준비한다면, 자다가도 벌떡얼어나서 쓸수 있을정도로 알아두는 것이 좋겠다.

 

그냥 글로 풀어보면

MATCH함수로 조건2에 대한 열번호를 알아낸 다음, VLOOKUP의 열을 찾는데 쓰는 방법이다.

 

MATCH함수는 사실 영역 내에서 값이 몇번째인지 나타내는 함수로,

만약 혼자 엑셀을 상식선에서 쓰고 있다면 죽었다 깨나도 써먹을 일이 없을 함수이기도 하다.

 

 

MATCH(찾을값,배열,정확한값을찾을지여부)

간단하지만, 써먹을라 치면 헤깔린다.

 

수식은 아래와 같다.

VLOOKUP의 열변수를 적는 곳에 MATCH함수를 넣어주면 된다.

 

=VLOOKUP(H2,B3:E6,MATCH(H3,B2:E2,0),FALSE)

 

 

 

HLOOKUP은 VLOOKUP과 사용방법은 동일하다.

단, 이번에는 MATCH함수로 조건1에 대한 행번호를 찾아내는 것이고,

HLOOKUP의 행을 찾는데 쓴다는 점이 되겠다.

다른 사항은 VLOOKUP + MATCH와 동일하다

 

수식은 아래와 같다.

=HLOOKUP(H3,C2:E6,MATCH(H2,B2:B6,0),FALSE)

 

 

 

VLOOKUP이나 HLOOKUP은 기준이 되는 조건열이나 행이 맨 앞에 있어야 한다는 전제가 있다.

 

 

INDEX + MATCH는 그 단점을 보완해 줄 수 있다.

INDEX함수는 선택 영역에서 X번행(ROW), Y번째열(COLUMN) 값을 반환한다.

INDEX(영역, X, Y) 가 되겠다.

 

수식은 아래와 같다.

=INDEX(C3:E6,MATCH(H2,B3:B6,0),MATCH(H3,C2:E2,0))

 

 

 

다음번에는 SUMPRODUCT와 SUM배열함수로 찾는 방법을 포스팅 해보려고 한다.