엑셀의 MATCH 함수는 지정된 범위에서 찾고자 하는 값의 위치를 반환합니다.
단순히 위치만 찾아 주므로 위치만 가지고는 쓸 일이 많이 없습니다. INDEX 함수 등 다른 함수와 함께 사용해서 성적 등급을 계산하는 등 응용해서 많이 사용되므로 함수의 구조를 잘 이해해 두면 복잡한 문제 해결 시 많은 도움이 됩니다.
구문(Syntax)
MATCH(lookup_value, lookup_array, [match_type])
지정된 범위에서 찾고자 하는 값의 위치를 반환한다.
인수 :
- lookup_value : 찾고자 하는 값
- lookup_array : 값을 찾을 범위
- match_type : 일치 유형
1 또는 생략 : lookup_value와 일치하거나 작은 것을 찾음, lookup_array 는 오름차순으로 정렬되어 있어야 함
0 : lookup_value와 일치하는 것을 찾음, lookup_array 는 정렬되어 있지 않아도 됨
-1 : lookup_value와 일치하거나 큰 것을 찾음, lookup_array 는 내림차순으로 정렬되어 있어야 함
사용 예
1) 일치하는 값의 위치 찾기
오름차순 정렬된 자료에서 숫자 85의 위치를 찾으려면
[B16] 셀에 다음 수식을 입력합니다.=MATCH(85,B5:B13,0) => 8
찾는 값 85는 [B5:B13] 범위의 8번째에 있으므로 위치 8이 구해집니다.
(위치 8은 행의 번호가 아니라 찾는 범위내에서의 위치임)
※ 주의 : 만약 다음과 같이 수식을 입력하면(표에 없는 79을 찾으면)
=MATCH(79,B5:B13,0) => #N/A
표에서 79와 일치하는 값은 없으므로 #N/A오류 발생합니다.
2) 근사값의 위치 찾기(오름차순)
이번에는 일치하는 값이 아닌 근사값 84의 위치를 오름차순으로 정렬된 자료에서 찾으려면
[B22] 셀에 다음 수식을 입력합니다.=MATCH(84,B5:B13,1) => 7
84와 일치하는 값은 없지만 84보다 작은 77을 찾아서 위치 7을 구해줍니다.
※ 주의 : 만약 다음과 같이 수식을 입력하면(마지막 인수를 -1로 입력하면 내림차순으로 찾음)
=MATCH(84,B5:B13,-1) => #N/A
84와 일치하는 값이 없고 오름 차순 정렬되어 있지 않아서 오류가 발생합니다.
3) 근사값의 위치 찾기(내림차순)
이번에는 근사값 84의 위치를 내림차순으로 정렬된 자료에서 찾으려면
[B28] 셀에 다음 수식을 입력합니다.=MATCH(84,D5:D13,-1) => 2
84와 일치하는 값은 없지만 84보다 큰 85를 찾아서 위치 2를 구해줍니다.
관련 글
자세한 설명에 너무 큰 도움이 되었습니다. 감사합니다.
안녕하세요 ㅠㅠ
1이란 숫자 입력시 a2:c2 범위에 X값이 포함되어있다면 "예"
2란 숫자가 입력시 a2:c2 →(범위변경) a3:c3 범위에서 X값이 포함되어있는지 검색
3란 숫자가 입력시 a2:c2 →(범위변경) a4:c4 범위에서 X값이 포함되어있는지 검색
4란 숫자가 입력시 a2:c2 →(범위변경) a5:c5 범위에서 X값이 포함되어있는지 검색
이걸..찾기위해서 한참을 강의를 찾아보는데 ㅠㅠ 어렵네요
고수님 혹시 도움좀 부탁드려도 될까요?
안녕하세요. 댓글의 내용만으로는 명확하지 않은 부분이 있습니다. 파일을 admin@xlworks.net으로 보내주시면 확인해 보겠습니다.
감사합니다.
안녕하세요 ㅠㅠ
1이란 숫자 입력시 a2:c2 범위에 X값이 포함되어있다면 "예"
2란 숫자가 입력시 a2:c2 →(범위변경) a3:c3 범위에서 X값이 포함되어있는지 검색
3란 숫자가 입력시 a2:c2 →(범위변경) a4:c4 범위에서 X값이 포함되어있는지 검색
4란 숫자가 입력시 a2:c2 →(범위변경) a5:c5 범위에서 X값이 포함되어있는지 검색
이걸..찾기위해서 한참을 강의를 찾아보는데 ㅠㅠ 어렵네요
고수님 혹시 도움좀 부탁드려도 될까요?
Match함수에 대해 여쭙니다 이럴때는 어찌해야하는지요
아래와같이 값을 찿을 범위가 참조영역이 변할때마다 범위를 변경하고자 한다면
예를 들어 두셀에 숫자가 E1=3, F1=5 들어있다면
=match(a2,b&e1:f&f1,0) 하면 에러 발생합니다 . 즉 범위가 B3:F5가 되겠죠
참조범위가 변함에 따라 찿는 범위가 자동으로 변경되도록 할수있는 방법은 없는지요
감사합니다ㅠㅠ 업무에 해당 INDEX, MATCH 함수사용방법이 필요했는데 큰도움이 되었습니다 !!!
Match함수에 대해 여쭙니다 이럴때는 어찌해야하는지요
아래와같이 값을 찿을 범위가 참조영역이 변할때마다 범위를 변경하고자 한다면
예를 들어 두셀에 숫자가 E1=3, F1=5 들어있다면
=match(a2,b&e1:f&f1,0) 하면 에러 발생합니다 . 즉 범위가 B3:F5가 되겠죠
참조범위가 변함에 따라 찿는 범위가 자동으로 변경되도록 할수있는 방법은 없는지요
안녕하세요. 참조를 동적으로 바꾸는 INDIRECT함수를 사용하면 됩니다.
=match(a2,indirect("b"&e1&":"&"f"&f1),0)
혹시 위 수식을 복사해서 붙여넣었는데 오류가 나면 쌍따옴표를 키보드에 있는 쌍따옴표로 다시 입력해보세요.
INDIRECT함수에 대해서는 다음 링크를 참고하세요.
https://xlworks.net/excel-function-indirect/
감사합니다.
안녕하세요. 급여명세서를 만들고 있는데요,
예를들어 그중 11월급여시트에 과세금액이 2,000,000원 나오면
간이세액표 시트에서 2,000,000 ~ 2,010,000 구간을(칸이 200 과 210 각각 나눠있음) 찾아
11월급여시트에 있는 공제가족수(1,2,3등값이 있음)에 해당하는 값을(간이세액표 시트의 구간옆에 각 공제가족수1이면 얼마,2면 얼마 나눠있음)
11월급여시트의 소득세란에 넣으려고 합니다.
이럴땐 어떤 함수를 어떻게 이용해야 하는지요?
안녕하세요, 파일을 admin@xlworks.net으로 보내주시면 빠르게 답변드릴 수 있을 것 같습니다.
안녕하세요.엑셀 강의 큰 도움되고 있어서 정말 감사합니다!
혹시 원하는 텍스트 영역 예를 들면 t열에 있는 텍스트 들이
c열에 있을 때. c열에 있는 동일한 텍스트가 볼드처리 되거나 텍스트 섹상이 변하게 적용하고 싶은데
가능한 부분일까요?
안녕하세요. 조건부 서식을 이용하면 됩니다.
예를 들어 C2셀과 T2셀에 동일한 텍스트가 있다고 할 때 다음과 같이 하면 됩니다.
1. 조건부 서식 추가 : C2셀을 마우스로 선택한 후 리본메뉴 > 홈 탭 > 스타일 그룹 > 조건부 서식 클릭 > 셀강조 규칙 > 같음(E)... > 팝업화면에서 왼쪽 빈칸에 "=$T2"를 입력하고 오른쪽 서식은 원하는 것을 선택
2. 다른 셀에도 조건부 서식 복사 : C2셀을 선택한 후 "서식 복사" > C3부터 C10까지 동일한 서식을 적용한다고 했을 때 C3:C10을 선택한 후 서식 붙여넣기
안녕하세요 항상 엑셀강의 잘보고있습니다. 감사합니다.
질문이 있습니다만
특정인물의 근무시간표를 만들고있습니다.
홍길동, 김민수, 이민수, 박민수 등등
있다고 쳤을때 홍길동의 근무시간만 찾아내서 계산하는것까진 했습니다
({=SUM(($A$5:$A$26=$AX1)*($G$5:$AK$26))}
(a5:a26 가 명단리스트 ax1 이 홍길동 g5 : ak26가 근무시간 기록하는 곳 )
여기서 문제가...일반 근무의경우 그대로 인건비를 곱하면되는데
잔업의경우 1.25 를 곱해야되요.
잔업시간을 계산해야되는데 좋은방법이 없을까요 ?
홍길동의 8시간이상근무시에는 9는 한시간 10은 두시간 등등으로 전부 더하기 위해선 어떻게 해야되나요?
안녕하세요.
잔업시간은 다음 수식으로 구하세요. 배열수식이므로 수식입력 후 ctrl+shift+enter해주세요.
=SUM(($A$5:$A$26=$AX1)*IF(($G$5:$AK$26)>8,($G$5:$AK$26)-8,0))
개인별 근무시간이 8시간이 넘으면 근무시간에서에서 8을 빼고, 넘지 않으면 0을 반환하도록 해서 다 더하면 개인별 잔업시간이 됩니다.
조건부 서식을 이용해서 수치의 범위를 지정(10~20)하고 값을 입력했을때 (10) 입력한 값을 빨간색으로 표시하는건 할수있는데
그 범위를 변경하였을때(20~30) 똑같은 값을 입력했을 경우 바로 적용 가능하게 하는 수식이나 조건부서식이 있을까요?
조건부 서식을 A열에 적용한다고 했을 때 B1셀에 범위의 시작값, B2셀에 범위의 끝값을 입력하고 조건부서식의 수식을 다음과 같이 입력하면 될것 같습니다.
=AND(A1>=$B$1, A1<=$B$2)