시나공 컴활 실기 2003버전/섹션 10/ 문제2
AVERAGE함수로 결과값을 평균 내려고 했습니다. 그리고 위의 것과 다른것은 먼저 조건문IF(조건,1,0)으로 만들어서 만약에 조건이 TURE이면 1로 주고, FALSE라면 0으로 주려고 했습니다. 만약 IF문이 끝나고서
그리고 답변주신 대로 저는
if문에서 0과 1이 나와서 곱하게 되죠.
그럼 곱한 값에 대한
0과 조건에 맞는 값이 나오게 됩니다.
average함수는 값들을 모두 더한후에 그 값을 구한 개수로 나누게 되죠.
책의 식은 조건이 맞을때 값을 반영합니다. 원랙 값은 10개 이고 조건에 맞는 값이 10,20,30,40,50 5개 이라면
avearge(if(조건,값))
으로 하여 조건에 맞으면 값을 반영하여 average(10,20,30,40,50) 이 되어 150/5 를 하여 30이되는데
님과 같이 작성하시면
조건에 맞는 값과 맞지 않는값 모두 나오기 때문에
average(10,20,0,0,30,40,50,0,0,0) 10개 의 값이 나와서 150/10 가 되어 15가 평균으로 나오게 됩니다.
그러므로 반값이 나오게 되는 것이죠.
즉 average함수는 님이 만드신 식으로 작성하기 어렵습니다.
이부분에 대한 설명이 있는데요.
평균값이 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문과 함께 사용해야 합니다.
좋은 하루 되세요.
"
-
*2011-08-08 12:45:23
if문에서 0과 1이 나와서 곱하게 되죠.
그럼 곱한 값에 대한
0과 조건에 맞는 값이 나오게 됩니다.
average함수는 값들을 모두 더한후에 그 값을 구한 개수로 나누게 되죠.
책의 식은 조건이 맞을때 값을 반영합니다. 원랙 값은 10개 이고 조건에 맞는 값이 10,20,30,40,50 5개 이라면
avearge(if(조건,값))
으로 하여 조건에 맞으면 값을 반영하여 average(10,20,30,40,50) 이 되어 150/5 를 하여 30이되는데
님과 같이 작성하시면
조건에 맞는 값과 맞지 않는값 모두 나오기 때문에
average(10,20,0,0,30,40,50,0,0,0) 10개 의 값이 나와서 150/10 가 되어 15가 평균으로 나오게 됩니다.
그러므로 반값이 나오게 되는 것이죠.
즉 average함수는 님이 만드신 식으로 작성하기 어렵습니다.
이부분에 대한 설명이 있는데요.
1편 엑셀 113 페이지 설명입니다.
평균값이 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문과 함께 사용해야 합니다.
좋은 하루 되세요.