[표4]에서 기혼 혹은 미혼자중에서 최소예금액 대상을 선택하는 배열수식관련 질문입니다.
제가 생각한 답
=INDEX($A$9:$I$18, MATCH( MIN( ($F$9:$F$18=A22) *$E$9:$E$18 ), ($F$9:$F$18 = A22) * $E$9:$E$18, 0),2)
정답
=INDEX($A$9:$I$18, MATCH( MIN( IF($F$9:$F$18=A22,$E$9:$E$18)), ($F$9:$F$18=A22)*($E$9:$E$18),0),2)
제가 생각한 방식대로 할 경우 최댓값 함수는 반응하지만 최솟값 함수에서 최솟값을 0으로 찾아 제대로 된 배열수식이 작동하지 않습니다.
제가 생각한대로 했을때 문제가 무엇인가요
1편 엑셀 106 페이지 설명입니다.
평균값이 186,503이 나왔어요.
if문을 입력할때 if(B11:B29=B3,G11:G29)처럼 작성하는 것은 조건이 거짓일 경우 "반환할 값"이 생략 (if(B11:B29=B3,G11:G29,"반환할 값"))된 것으로, if(B11:B29=B3,G11:G29,"")과 같이 조건의 값이 거짓일 때 이론적으로 아무값도 없는 NULL값을 반환 하라는 뜻입니다. NULL값이 반환되면 아무것도 없는 것이기 떄문에 AVERAGE 함수의 배열요소에서 제외 됩니다. 그런데 만약 배열 수식을 AVERAGE(IF(B11:B29=B3,G11:G29,0)이나 AVERAGE((B11:B29=B3)*(G11:G29)와 같이 작성하면 조건이 거짓일때 0이 AVERAGE함수로 포함되어 평균이 계산 되는 것입니다. 즉 "=AVERAGE(550000.1650000,4000000,165000,770000)" 와 "=AVERAGE(550000.1650000,4000000,165000,770000,0...)"의 차이겠죠. 같은 이유로 MIN, MEDIAN,SMALL 등의 함수도 반드시 IF문과 함께 사용해야 합니다.
만약
=MEDIAN(1,2,3,4,5,6,7,8,9,10) 을 하면 중간값은 5.5가 나옵니다.
그런데
=MEDIAN(1,2,0,4,5,0,0,8,0,10)
처럼 중간중간에 0이 들어가게 되면 1.5가 나오게 되죠.
그냥 0값을 제외하고 구하게 되면
=MEDIAN(1,2,4,5,8,10) 4.5 가 나오게 됩니다.
이렇게 0이 있느냐 없느냐에 따라 값이 틀리기 때문에 그런 것이죠.
min값도 마찮가지로 0이 나오게 되면 0만 표시 되기 때문에 if와 함께 사용하셔야 하는 것이죠.
좋은 하루 되세요.
-
*2016-08-26 14:06:17
1편 엑셀 106 페이지 설명입니다.
평균값이 186,503이 나왔어요.
if문을 입력할때 if(B11:B29=B3,G11:G29)처럼 작성하는 것은 조건이 거짓일 경우 "반환할 값"이 생략 (if(B11:B29=B3,G11:G29,"반환할 값"))된 것으로, if(B11:B29=B3,G11:G29,"")과 같이 조건의 값이 거짓일 때 이론적으로 아무값도 없는 NULL값을 반환 하라는 뜻입니다. NULL값이 반환되면 아무것도 없는 것이기 떄문에 AVERAGE 함수의 배열요소에서 제외 됩니다. 그런데 만약 배열 수식을 AVERAGE(IF(B11:B29=B3,G11:G29,0)이나 AVERAGE((B11:B29=B3)*(G11:G29)와 같이 작성하면 조건이 거짓일때 0이 AVERAGE함수로 포함되어 평균이 계산 되는 것입니다. 즉 "=AVERAGE(550000.1650000,4000000,165000,770000)" 와 "=AVERAGE(550000.1650000,4000000,165000,770000,0...)"의 차이겠죠. 같은 이유로 MIN, MEDIAN,SMALL 등의 함수도 반드시 IF문과 함께 사용해야 합니다.
만약=MEDIAN(1,2,3,4,5,6,7,8,9,10) 을 하면 중간값은 5.5가 나옵니다.
그런데
=MEDIAN(1,2,0,4,5,0,0,8,0,10)
처럼 중간중간에 0이 들어가게 되면 1.5가 나오게 되죠.
그냥 0값을 제외하고 구하게 되면
=MEDIAN(1,2,4,5,8,10) 4.5 가 나오게 됩니다.
이렇게 0이 있느냐 없느냐에 따라 값이 틀리기 때문에 그런 것이죠.
min값도 마찮가지로 0이 나오게 되면 0만 표시 되기 때문에 if와 함께 사용하셔야 하는 것이죠.
좋은 하루 되세요.