질문 해서 답변을 받았는데, 아직도 해결되지 않아서 다시 올려요.
=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 함수 범위를 저렇게 설정했으면, 건물번호가 BD-002(셀K3을 기준으로 예를 든거에요!)인 임대인들 중에서! 최대값을 찾아서 그 상대위치를 구하는 거잖아요... 그러면 [표2]에서 BD-002인 사람들만 뽑아놓고 봤을때 임꺽정이 월임대료가 최대인데... BD-002인 사람들 안에서의 상대위치는 2 잖아요? <-혹시 이게 틀린건가요?ㅠㅠㅠ
그럼 INDEX(B11:H29, 2, 3) 이렇게 되어부리는데 그라면 임꺽정씨가 아니고 김승진씨가 입력되지 않습니까?ㅠㅠㅠㅠ
이것만 좀 해결되면 정말 마음이 편할거 같아요 *^^*
index의 범위와 다른것이 맞죠..
match 는 범위의 상대 위치를 지정 합니다.
max값이 나온 범위에서 max값의 위치를 찾아야 하므로 max값을 찾은 위치와 같은 범위를 쓰셔야 하는 것이죠.
index 함수는
index(범위,행,열)
이고 match(값,범위, 옵션)
입니다. match의 범위는 한 행이나 한 열로 사용하여 그 위치에서 상대위치를 구하게 됩니다.
즉
1
2
3
4
5
라는 값을 범위로 지정 하고 찾을 값이 3이라면 상대위치인 3을 반영 하게 됩니다.
그러므로 index 범위와 같게 하는 것이 아니라 값을 구할 범위와 같게 하셔야 하는 것입니다.
밑에 설명 주신 부분에서 잘못 된 것은 건물 번호가 BD-0002 인 사람들중 최대 임대료 를 찾았는데
BD-0002의 범위에서 위치를 찾으면 안되죠.
max에서 나온 값이 최대임대료 이므로 최대임대료가 있는 범위에서 상대위치를 구하셔야 합니다.
좋은 하루 되세요.
"-
*2011-08-10 10:16:23
index의 범위와 다른것이 맞죠..
match 는 범위의 상대 위치를 지정 합니다.
max값이 나온 범위에서 max값의 위치를 찾아야 하므로 max값을 찾은 위치와 같은 범위를 쓰셔야 하는 것이죠.
index 함수는
index(범위,행,열)
이고 match(값,범위, 옵션)
입니다. match의 범위는 한 행이나 한 열로 사용하여 그 위치에서 상대위치를 구하게 됩니다.
즉
1
2
3
4
5
라는 값을 범위로 지정 하고 찾을 값이 3이라면 상대위치인 3을 반영 하게 됩니다.
그러므로 index 범위와 같게 하는 것이 아니라 값을 구할 범위와 같게 하셔야 하는 것입니다.
밑에 설명 주신 부분에서 잘못 된 것은 건물 번호가 BD-0002 인 사람들중 최대 임대료 를 찾았는데
BD-0002의 범위에서 위치를 찾으면 안되죠.
max에서 나온 값이 최대임대료 이므로 최대임대료가 있는 범위에서 상대위치를 구하셔야 합니다.
좋은 하루 되세요.
"