본문 바로가기
배움/IT

[엑셀] INDEX/ MATCH (정의, 예제)

by 혜팡이 2020. 12. 21.
반응형


index와 match를 이용하면 더 높은 수준의 look up을 할 수 있다고 한다.

 

이번 글에서는 INDEX와 MATCH의 개념과 역할을 간단하게 살펴보고, 둘을 이용한 예제를 풀어본다.

 

INDEX함수

영어 index 는 무언가를 지시하는 지표를 의미한다. 엑셀에서 ‘무언가’는 셀의 값 의미하고, 엑셀은 위치를 통해 이 값을 지시한다.

 

따라서 인덱스 함수에는 ‘특정 범위’와 특정 값이 있는 ‘위치’만 입력해주면 된다. 엑셀에서 위치는 행과 열로 표시하기 때문에 INDEX 함수의 구성은 아래와 같다.

 

=INDEX(array, row_num, column_num) 

=INDEX(범위, 행 위치, 열 위치) 

 

간단한 예시를 보자.

 

INDEX함수 예시

A3:D9 범위에서 2행, 1열에 있는 값을 찾기 위해

아래와 같이 입력해준다.

 

=INDEX(A3:D9,2,1)

 


INDEX 함수에 값을 넣고, 엔터를 치면 그 위치에 자리한 값인 '서연'을 돌려준다. 

 



INDEX 함수에 범위, 행, 열의 위치를 모두 적게 되어 있지만, 특정 열에서 특정 행 번호로 가지고 오는 경우에는 열 범위만 지정해주고, 몇 번째 값을 가지고 오고 싶은지를 적어주면 된다.

(행도 마찬가지로 행 범위와, 위치를 넣어주면 된다. )






 

그런데 데이터가 많아지는 경우 문제가 하나 생긴다. 위 예시에서는 범위가 4행 7열이기 때문에 열이나 행 숫자를 직접 세어서 위치를 정해줄 수 있었다. (물론 이 경우 단순히 복사 붙여넣기를 하는 게 더 빠르고 편할 것이다.)

 

그러나, 데이터가 많아지는 경우 내가 원하는 값이 있는 열의 위치나, 행의 위치를 세어 가지고 온다는 것이 비효율적이고 부정확할 수 있다. 이때 필요한 함수가 MATCH 함수다

 

MATCH 함수 

match는 사람이나 사물이 어떤 사람이나 사물과 힘이나, 속도, 질(quality) 등이 일치하는 것을 말한다. 엑셀에서 MATCH 함수는 ‘특정한 값’과 일치하는 값의 '위치를 알려준다.'

 

함수는 아래와 같다.

= MATCH(lookup_value, lookup_array,match_type)

 

lookup_value는 위치를 찾고자 하는 값,  lookup_array는 찾고자 하는 위치의 범위, match_type 은 ‘정확한 값’으로 찾을 것인지, 대략적인 값으로 찾을 것인지를 설정한다. 1인 경우에는 비슷한 값을 기준으로 찾아주고, 0을 입력하는 경우에는 ‘정확히 일치하는 값’을 기준으로 찾아준다. 



기억할 점은 lookup_value를 입력할 때 특정 위치의 값이 숫자인 경우에는 상관없지만, 문자인 경우에는 쌍따옴표로 문자 표시를 해줘야 한다는 것이다. 

 

MATCH 예제) 

MATCH 함수를 이용해서 '동작구'가 있는 셀의 위치를 찾는 예제다.

 

 

위 처럼 MATCH 함수에 값을 넣어 엔터를 쳐주면 C3:C9 범위에서 '동작구'라는 셀 값이 있는 위치인 '1'이 결과로 나온다. 

 



이처럼 MATCH로 구한 위치를 INDEX 함수의 위치로 사용할 수 있는데,

 

 

=INDEX(A3:D9,4,3)

=INDEX(A3:D9,MATCH(“강남구”,C3:C9,0),3) 

 

위의 예처럼 직접 찾아야했던 위치 '4'를 MATCH 함수로 대체해서 사용이 가능하다.

 

 

 

마지막으로 INDEX와 MATCH 를 활용해서 간단한 예제를 풀어본다. 

 

예제

 

민서의 이메일을 index 와 match를 이용해 구해라.

 

-------------------------------------------

INDEX and MATCH.xlsx
다운로드

-------------------------------------------

 

풀이MATCH를 통해 민서가 있는 행 번호와 이메일이 있는 열 번호를 구해서 INDEX 함수에 넣어 원하는 값을 찾아줄 수 있다. 

 

  1. 민서의 이메일이 무엇인지 구하고자 하는 경우 
  2. '민서', '이메일'을 빈 셀에 적어준 뒤,
  3. INDEX 함수를 열어서 

INDEX(전체 범위, ‘민서’라는 이름이 있는 행, ‘이메일’이라는 이름이 있는 열)

이 형태로 적어주면 된다. 

 

 
 
 
 

참고 사이트 : 

https://exceljet.net/index-and-match

 


공부할 겸 남겨두는 글이라 틀린 부분이 있을 수 있습니다. 

댓글로 알려주시면 수정해 올리겠습니다. 

반응형