업무 TIP, 엑셀 함수정리-[07] 검색함수 "MATCH, INDEX"
지난 시간에는 VLOOKUP함수를 정리해 봤습니다. 이 함수는 사용할때 검색 대상의 값은 시트의 가장 첫 번째, A행에 있어야 하는데요. 하지만 일일이 표를 편집하기에는 귀찮은 일이 아닐 수 없습니다. 이럴때 사용할 수 있는 INDEX, MATCH함수를 중첩해 같은 값을 끌어내는 방법을 정리해 보겠습니다.
필요한 값만 끌어내는
MATCH, INDEX
개념부터 알아야 겠죠
MATCH : 데이터 범위 내에서 원하는 데이터의 행과 열 위치를 구해주는 함수
INDEX : 데이터 범위 내에서 행과 열 위치를 참조해 특정 위치의 값을 구해주는 함수
MATCH는 특정값의 위치를, INDEX는 특정위치의 값을 구해주는 상호보완적인 함수 입니다. 마치 친한친구나 부부 같은 느낌인데요 예를 들어 설명드리겠습니다.
.
#시작전 알아둬야 할 것(절대참조, 혼합참조, 상대참조)
오늘은 참조를 정의할수 있는 $를 사용할 예정입니다. 이 $는 참조값을 필요에 따라 지정하는 역할을 하게 됩니다.
-절대참조 : $A$1 (셀 값(행/열)을 고정시켜 참조 $행고정A$열고정1)
-혼합참조 : $A1 또는 A$1 (행, 열 중 하나만 참조 $행고정A$열고정1)
-상대참조 : A1 (행 또는 열, 행열 모두 에 따라 주소값이 변동되면서 수식 복사)
.
#MATCH 함수의 활용
우리회사 직원들의 직급과 호봉에 대한 위치를 구해보겠습니다. 좌표값을 구하기 위해서 행, 열 위치로 표를 분리하여 예제를 만들었습니다. 우리는 차장 직급의 상여금 좌표를 구해보겠습니다.
쉽게 구해졌습니다. 함수는 "=MATCH(B7,$A$14:$A$18,0)" 를 사용했는데요 하나씩 풀어드리겠습니다.
=MATCH(lookup_value, look_array, [match_type])
=MATCH(B7,$A$14:$A$18,0)
먼저 B7은 직급을 참조하기 위한 값으로 맨처음 lookup_value 자리에 넣어주고
$A$14부터 $A$18까지 쭉 드래그 해줍니다. 참조의 값은 변하면 안되기에 절대참조를 걸어 줬습니다.
0은 오차없는 값을 구해달라는 의미로 0을 입력했습니다.
같은식으로 행의 나머지 값과, 열의 나머지 값들을 구해보겠습니다.
=MATCH(C7,$B$13:$E$13,0)
=MATCH(호봉참고셀, 열위치 절대참고 범위, 오차없는 값의 요청)
입니다.
.
#INDEX 함수로 클로틸다 차장의 상여금을 알아내기
위에서 MATCH에 대해서 정리했습니다. 이제는 보완적인 관계인 INDEX를 사용해 클로틸다 차장의 상여금을 알아내 보겠습니다.
함수인수는 데이터범위, 행번호, 열번호 입니다. 아래 정리해 보겠습니다.
=INDEX($B$14:$E$18,MATCH(B7,$A$14:$A$18,0),MATCH(C7,$B$13:$E$13,0))
입니다. 이런식으로 각각의 상여금을 구할 수 있습니다.
위 예제파일은 아래 첨부하였습니다.