MATCH 함수 – 원하는 값의 위치를 불러오는 방법

엑셀에서 값을 찾는다고 하면 대부분 VLOOKUP을 떠올리지만, 때로는 ‘값 자체’가 아니라 그 값의 위치가 필요할 때가 있다. 예를 들어, “상품A가 몇 번째 행에 있는지”를 알아야 할 때가 그렇다. 이럴 때 사용할 수 있는 함수가 바로 MATCH 함수 이다.

MATCH 함수 자체는 값의 위치를 정수로 반환하는 함수이기 때문에 단독으로 사용하기 보다는 다른 함수와 조합해 사용하는 경우가 많다.

주로 INDEX함수와 조합해 VLOOKUP 함수보다 조금 더 유연하게 동적인 수식을 구성할 때 사용한다. 특히 온라인 셀러의 경우 실무에선 상품별 배송비를 산정하는 수식을 구성할 때 보다 빠르고 정확하게 그리고 편리하게 사용할 수 있다.

이번 글에서는 다음 포스팅에서 다뤄질 상품 테이블 구성에 대한 배경지식으로 MATCH 함수의 개념과 사용방법에 대해 간략하게 알아보자.


MATCH 함수 기본 수식 구성

MATCH 함수는 지정된 범위에서 원하는 값의 위치(몇번째)를 정수로 반환하는 함수로 기본 수식 구성은 아래와 같다.

=MATCH(lookup_value, lookup_array, [match_type])
  • lookup_value: 찾고자 하는 값
  • lookup_array: 찾을 범위 (단일 행 또는 단일 열)
  • match_type (선택)
    1 또는 생략 → 오름차순에서 근사값
    0 → 정확히 일치하는 값
    -1 → 내림차순에서 근사값


MATCH 함수 기본 인수

MATCH 함수로 수식을 구성하기 위해 입력해야 할 인수는 찾을 값, 찾을 범위, 일치 유형 세가지다.

=MATCH(찾을_값, 찾을_범위, 일치_유형)


아래 예시를 통해 간단히 살펴보자.

MATCH 함수 기본 인수

나열된 이름 중 홍길동의 위치를 반환하는 수식을 구성해보자.


먼저 입력할 인수는 찾을 값 즉, 여기서는 “홍길동”이다.

MATCH 함수 기본 인수 찾을 값을 입력한 모습

직접 텍스트로 입력할 때는 “”로 감싸주면 된다. 물론 셀을 참조하는 것도 가능하다.


다음 인수는 찾을 범위이다. 첮번째 인수뒤에 쉼표”,”를 찍은 후 마우스로 드래그해 범위를 선택하면 된다.

값을 찾을 범위를 지정한다.

범위는 열방향이나 행방향 모두 가능하다. 다만 여기서 주의할 점은 범위 지정이 1차원 즉, 한줄로만 선택이 가능하다는 점이다. MATCH 함수는 정수 하나로 위치값을 반환하는 함수이기 때문이다.

범위를 2차원 즉 2줄 이상으로 지정하면 아래와 같이 오류값을 반환하게 된다.

MATCH 함수 범위 지정은 1차원 즉 , 한줄로만 선택이 가능하다.


또 한가지 여러 셀에 MATCH 함수를 반복 입력하는 경우 범위를 지정하려면 아래처럼 절대참조로 지정해야 한다.

한가지 여러 셀에 MATCH 함수를 반복 입력하는 경우 범위를 지정하려면 절대참조로 지정해야 한다.

수식을 복사해 사용하는 경우 절대참조로 고정되어 있지 않으면 지정 범위가 변경되기 때문이다.


마지막으로 입력할 인수는 일치 유형이다.

일치 유형은 정확히 일치하는 값을 반환할 것인지, 일치하지 않더라도 유사한 값을 반환할 것인지를 결정하는 인수다.

일치 유형은 VLOOKUP 함수에서의 range_lookup 인수와 비슷한 역할을 하는 인수다. 즉, 정확히 일치하는 값을 반환할 것인지, 일치하지 않더라도 유사한 값을 반환할 것인지를 결정하는 인수다.

정확한 수식 구성을 위해 보통은 0을 입력한다.


모든 인수를 입력하고 엔터를 누르면 아래와 같이 범위내에 홍길동이라는 이름의 위치를 정수 2로 반환한다.

MATCH 함수 사용으로 반환된 정수값


자주 하는 실수

  • match_type을 생략했을 때 값이 정확히 일치하지 않으면 이상한 결과가 나올 수 있다.
  • lookup_array는 반드시 단일 행 또는 단일 열이어야 한다.
  • MATCH는 값을 ‘찾는’ 것이지 ‘값을 반환’하지 않는다. 위치 번호만 반환한다.


마치며

위에서 예시를 통해 본 것처럼 MATCH 함수는 무척 단순한 함수다. 어쩌면 아직까지 도무지 어디에 활용할 수 있을지 감조차 잡지 못하는 사람이 대부분이 아닐까 싶다.

MATCH 함수 그 자체로는 실무에서 그다지 쓰임이 없었다. 적어도 개인적인 경험에서는 그랬다.

MATCH 함수는 다른 함수의 인수로 사용할 때 그 진가가 발휘된다. 특히 INDEX 함수와 조합하는 경우 VLOOKUP으로는 구성이 불가능한 수식도 유연하게 구성이 가능하다.

이후 포스팅에서 다룰 상품 테이블 구성하는 방법에서도 유용하게 사용될 예정이니 개념 정도만 적당히 알아두면 좋다.