문제의 답안이
=INDEX($B$40:$E$42,MATCH(D3,$A$40:$A$42,0),MATCH(YEAR(C3),$B$38:$E$38))
이렇게 되는것은 알겠습니다.
그런데 안에 상품종류에 대한 검색을 하는
MATCH(D3,$A$40:$A$42,0) 을
MATCH(D3,$A$40:$A$42) 와 같이 입력하면
정기적금과 청약저축에 대한 값은 제대로 나오는데 청약예금에 대한 값이 제대로 안나옵니다.
이런 이유가 무엇인가요?
MATCH 함수의 옵션은 -1, 0, 1이 있습니다.
-1 : 찾을 값 보다 크거나 같은 값 중 가장 작은 값을 찾습니다. 범위는 반드시 내림차순으로 정렬되어 있어야 합니다.
0 : 찾을 값에서 첫번째로 정확하게 일치하는 값을 찾습니다. 범위는 정렬 되어 있지 않아도 됩니다.
1 : 찾을 값 보다 작거나 같은 값 중에서 큰 값을 찾습니다. 범위는 반드시 오름차순으로 정렬 되어 있어야 합니다.
=INDEX( $B$40:$E$42, MATCH(D3,$A$40 :$A$42,0), MATCH( YEAR(C3),$B$38:$E$38,1 ) )
=INDEX(범위, 행번호, 열번호 )
MATCH(찾을 값, 범위, 옵션) 함수는 범위에서 찾을값을 찾아 옵션에 맞춰 위치를 반환합니다.
행번호 : MATCH(D3,$A$40 :$A$42,0) : 옵션 0은 정확하게 일치하는 값을 찾습니다. {정기적금, 청약저축, 청약예금} 중 정확하게 일치하는 값의 위치를 반환하는 것이죠.
정확하게 일치하는 값을 찾지 못하면 정확한 결과가 나오지 않는 것입니다.
열번호 : MATCH( YEAR(C3),$B$38:$E$38,1 ) : 옵션 1은 찾을값보다 작거나 같은 값 중 가장 큰 값을 찾으며, 오름차순 정렬되어 있어야 적용이 가능합니다. {2011,2013,2015,2017}로 오름차순 정렬되어 있습니다.
즉,
옵션을 1로 놓고 찾을 값 보다 작거나 같은 값 중 큰 값을 찾아야 하므로 오름차순되어 있는 [$B$38:$E$38] 영역으로 범위를 지정한 것이죠.
좋은 하루 되세요.
-
관리자2020-11-20 14:12:46
MATCH 함수의 옵션은 -1, 0, 1이 있습니다.
-1 : 찾을 값 보다 크거나 같은 값 중 가장 작은 값을 찾습니다. 범위는 반드시 내림차순으로 정렬되어 있어야 합니다.
0 : 찾을 값에서 첫번째로 정확하게 일치하는 값을 찾습니다. 범위는 정렬 되어 있지 않아도 됩니다.
1 : 찾을 값 보다 작거나 같은 값 중에서 큰 값을 찾습니다. 범위는 반드시 오름차순으로 정렬 되어 있어야 합니다.
=INDEX( $B$40:$E$42, MATCH(D3,$A$40 :$A$42,0), MATCH( YEAR(C3),$B$38:$E$38,1 ) )
=INDEX(범위, 행번호, 열번호 )MATCH(찾을 값, 범위, 옵션) 함수는 범위에서 찾을값을 찾아 옵션에 맞춰 위치를 반환합니다.
행번호 : MATCH(D3,$A$40 :$A$42,0) : 옵션 0은 정확하게 일치하는 값을 찾습니다. {정기적금, 청약저축, 청약예금} 중 정확하게 일치하는 값의 위치를 반환하는 것이죠.
정확하게 일치하는 값을 찾지 못하면 정확한 결과가 나오지 않는 것입니다.
열번호 : MATCH( YEAR(C3),$B$38:$E$38,1 ) : 옵션 1은 찾을값보다 작거나 같은 값 중 가장 큰 값을 찾으며, 오름차순 정렬되어 있어야 적용이 가능합니다. {2011,2013,2015,2017}로 오름차순 정렬되어 있습니다.
즉,
옵션을 1로 놓고 찾을 값 보다 작거나 같은 값 중 큰 값을 찾아야 하므로 오름차순되어 있는 [$B$38:$E$38] 영역으로 범위를 지정한 것이죠.
좋은 하루 되세요.