업무 TIP, 엑셀 함수정리-[07] 검색함수 "MATCH, INDEX"

2017. 5. 22. 11:53IT know-how/윈도우팁

728x90
반응형

지난 시간에는 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))

입니다. 이런식으로 각각의 상여금을 구할 수 있습니다. 

위 예제파일은 아래 첨부하였습니다.

엑셀예제_match_index.xlsx




반응형