조건에 맞는 문자값 찾기

값을 찾을 때, 찾고자 하는 값이 문자값이고, 행과 열 조건이 하나씩 있을 때, INDEX 함수와 MATCH 함수를 사용할 수 있다.

myimg



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

myimg



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

myimg



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

그럼, 행과 열의 조건이 하나 이상이라면 어떻게 처리할 것인가?
우선 행 조건이 두개인 경우이다.

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

myimg



추가된 행 조건을 처리하는 방법은 아래와 같다.
행 조건을 처리하는 MATCH 함수 안에서 찾을 배열에 INDEX함수로 새로운 배열을 생성해 주는데, 두가지 조건을 로 연결해 준다.
뒤에 붙는 ROW와 COL변수는 비워두되 마지막에 ,는 찍어줘야 한다.
INDEX((조건)
(조건),)
그럼 신규로 {0,0,0,1,0,0,0}과 같이 배열이 생성되고, 이에 대해 MATCH 함수에서 첫번째 1값(TRUE)의 위치를 반환하게 된다.

myimg



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

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

myimg



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

myimg



끝.