조건에 맞는 문자값 찾기
값을 찾을 때, 찾고자 하는 값이 문자값이고, 행과 열 조건이 하나씩 있을 때,
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함수 안에 한꺼번에 쓴다면 다음과 같이 되겠다.
이상 끝.