본문 바로가기
WeekdayLife/excel

[엑셀] 다중 조건에서 INDEX/MATCH함수로 값 찾기

by JO_i 2022. 5. 12.

 

조건에 맞는 문자값 찾기

값을 찾을 때, 찾고자 하는 값이 문자값이고, 행과 열 조건이 하나씩 있을 때,

INDEX 함수와 MATCH 함수를 사용할 수 있다.

 

 

 

MATCH 함수를 통해 찾고자 하는 값이 해당 배열(행/열)에서 몇번째 순서에 위치하는지 찾는다.

 

 

 

INDEX함수에 MATCH함수로 찾은 값을 변수로 사용해서, 최종적으로 찾을 값을 반환받는다.

 

 

 

다중 조건에 맞는 문자값 찾기

그럼, 행과 열의 조건이 하나 이상이라면 어떻게 처리할 것인가?

우선 행 조건이 두개인 경우이다.

 

아래 그림과 같이 A열에 중복되는 값들이 있고, 행 조건이 A열에서는 3, B열에서는 F로 주어졌다. 답은 "타"로, 기존의 "하"와 달라졌음을 알 수 있다.

 

 

 

추가된 행 조건을 처리하는 방법은 아래와 같다. 

행 조건을 처리하는 MATCH 함수 안에서 찾을 배열에 INDEX함수로 새로운 배열을 생성해 주는데, 두가지 조건을 *로 연결해 준다. 

뒤에 붙는 ROW와 COL변수는 비워두되 마지막에 ,는 찍어줘야 한다.

INDEX((조건)*(조건),)

그럼 신규로 {0,0,0,1,0,0,0}과 같이 배열이 생성되고, 이에 대해 MATCH 함수에서 첫번째 1값(TRUE)의 위치를 반환하게 된다.

 

 

 

나머지 조건이 하나 있는 열조건의 MATCH 함수와 최종 INDEX 함수는 기존과 동일하다.

 

그럼 열조건까지 두개가 된다면 어떨까.

열 조건에 대한 처리를 담당하는 MATCH함수에 위와 동일하게 INDEX함수로 조건에 맞는 배열을 생성해주고, TRUE값의 위치를 확인하여 반환해주도록 한다.

 

 

 

INDEX함수 안에 한꺼번에 쓴다면 다음과 같이 되겠다.

 

 

 

이상 끝.