안녕하세요
질문 해서 답변을 받았는데, 아직도 해결되지 않아서 다시 올려요.
=INDEX($B$11:$H$29,MATCH(MAX(($B$11:$B$29=B3)*$G$11:$G$29),($B$11:$B$29=B3)*$G$11:$G$29,0),3)
이 배열 수식에서요~
INDEX함수에 넣을 '행위치'를 찾기위해서 MATCH를 이용하는거잖아요~
그러면 '위에서부터 몇번째 행에 있다' 그걸 찾아야 하는거잖아요~
그런데 MATCH의 '찾는 범위'가 ($B$11:$B$29=B3)*$G$11:$G$29 이렇게 되어버리면..건물번호가 BD-002인 임대인들 안에서의 상대위치를 찾게 되는거 아니에요?
그 상대위치는 INDEX함수에서 찾아야하는 위치랑 다를거 같은데... 왜냐면 INDEX함수에서 설정한 범위는 $B$11:$H$29니까요~
즉.. 제 질문이 뭐냐면요 INDEX함수랑 MATCH함수의 범위가 왜 다르냐 이겁니다 ㅠㅠ 둘 다 $B$11:$H$29가 되어야 하는거 아닌가요~!?
우선 MATCH함수를 조금 자세히 이해하셔야 할 것 같습니다. MATCH함수에서의 범위는 벡터형식입니다.
즉 한 행이나 한 열만을 범위로 지정할 수 있죠.
위의 식에서 MATCH 함수가 반환하는 값은 MAX함수가 찾은 [표2] 건물번호가 b3셀에 있는 [표1]의 건물번호와 같은 사람의 임대료 중 가장 큰 값입니다. 즉 MATCH함수의 첫번째 인수인 MAX함수의 결과값은 [표2]에서 건물번호가 같은 사람 중 가장 큰 임대료인 것이죠. 이것을 MATCH함수의 2번째 인수인 범위에서 같은 값을 찾아야 하는 겁니다.
따라서 그 범위도 [표2]의 임대료형식으로 지정해야만 하죠. 물론 임대료 형식도 당연히 b3셀에 있는 건물번호와 같은 부분만을 대상으로 해야되므로 배열수식으로 지정한거구요.
만약 임대료가 아닌 다른 열을 지정하면 완전히 관련 없는 부분에서 찾게 되는 상황이 발생될 수밖에 없겠죠.
그래서 범위를 책과 같이 지정한겁니다.^^
처음에 이해하기가 조금 어려워서 그렇지 한번만 감 잡으면 일사천리에요.. 힘내세요.^^
-
*2011-08-07 18:38:36
우선 MATCH함수를 조금 자세히 이해하셔야 할 것 같습니다. MATCH함수에서의 범위는 벡터형식입니다.
즉 한 행이나 한 열만을 범위로 지정할 수 있죠.
위의 식에서 MATCH 함수가 반환하는 값은 MAX함수가 찾은 [표2] 건물번호가 b3셀에 있는 [표1]의 건물번호와 같은 사람의 임대료 중 가장 큰 값입니다. 즉 MATCH함수의 첫번째 인수인 MAX함수의 결과값은 [표2]에서 건물번호가 같은 사람 중 가장 큰 임대료인 것이죠. 이것을 MATCH함수의 2번째 인수인 범위에서 같은 값을 찾아야 하는 겁니다.
따라서 그 범위도 [표2]의 임대료형식으로 지정해야만 하죠. 물론 임대료 형식도 당연히 b3셀에 있는 건물번호와 같은 부분만을 대상으로 해야되므로 배열수식으로 지정한거구요.
만약 임대료가 아닌 다른 열을 지정하면 완전히 관련 없는 부분에서 찾게 되는 상황이 발생될 수밖에 없겠죠.
그래서 범위를 책과 같이 지정한겁니다.^^
처음에 이해하기가 조금 어려워서 그렇지 한번만 감 잡으면 일사천리에요.. 힘내세요.^^