책 내용 질문하기
좋은 하루 되세요.
"
엑셀식
도서
[2012] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
118
조회수
45
작성일
2012-03-05
작성자
첨부파일
118쪽 2번 "채용형태별 실적의 평균 계산하기"
문제에서 저는 식을 =AVERAGE(IF($C$14:$C$25=F3,$E$14:$E$25,0))라고 세웠더니
답이 틀리더라구요.
함수 if식을 쓸 때, 조건이 거짓일 때 부분에 왜 0을 쓰면 안되나요~?!
답변
2012-03-06 00:51:23
1편 엑셀 112 페이지 설명입니다.
평균값이 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문과 함께 사용해야 합니다.
평균값이 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문과 함께 사용해야 합니다.
위의 설명처럼 0이 들어가지 않게 하기 위해서 if를 사용한 것인데 false 부분에 0이 들어가면 if를 쓰나 안쓰나 같은 결과가 되겠죠.
정확한 결과가 나오지 않기 때문에 오답처리 됩니다.
좋은 하루 되세요.
-
*2012-03-06 00:51:231편 엑셀 112 페이지 설명입니다.
평균값이 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문과 함께 사용해야 합니다.
위의 설명처럼 0이 들어가지 않게 하기 위해서 if를 사용한 것인데 false 부분에 0이 들어가면 if를 쓰나 안쓰나 같은 결과가 되겠죠.정확한 결과가 나오지 않기 때문에 오답처리 됩니다."
좋은 하루 되세요.