책 내용 질문하기
조건쓰는 방법 & 사용자정의함수
도서
[2015] 컴퓨터활용능력 1급 실기
페이지
0
조회수
65
작성일
2014-10-27
작성자
첨부파일
부록 114페이지, 계산작업 D형, 문제3번
Q.MAX, IF, AVERAGE, DAVERAGE, OR 중 알맞은 함수를 사용한 배열수식 사용하시오.
{ =MAX(($B$12:$B$27=A3)*($F$12:$F$27))-AVERAGE( ($B$12:$B$27=A3)*($F$12:$F$27) ) }
이렇게 하면 답이 이상하게 나옴
{ =MAX(($B$12:$B$27=A3)*($F$12:$F$27))-AVERAGE( IF($B$12:$B$27=A3,$F$12:$F$27) ) }
이렇게 해야 답이 제대로 나옴
{ =MAX(IF($B$12:$B$27=A3,$F$12:$F$27))-AVERAGE(IF($B$12:$B$27=A3,$F$12:$F$27)) }
이렇게 해도 답이 제대로 나옴
두번째, 세번째 방법으로 하면 답이 정답대로 나오는데, 왜 첫번째처럼 쓰면 안되는 건가요?
MAX함수에서 조건을 *으로 연결한 것처럼 AVERAGE에서도 IF 사용 안하고 *으로 연결하면 안되나요?
───────────────────────────────────────────────────
또다른 질문은,
사용자정의 함수 문제에서 IF/SELECT 함수 중 아무거나 써도 되나요?
문제에서 특정함수를 사용하라고 지시하지 않은 경우에요
답변
2014-10-29 11:57:55
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문과 함께 사용해야 합니다.
평균값이 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문과 함께 사용해야 합니다.
특정함수를 사용하라고 하지 않았다면 어느것을 사용하시든 상관 없으세요.
좋은 하루 되세요.
"
좋은 하루 되세요.
-
*2014-10-29 11:57:551편 엑셀 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문과 함께 사용해야 합니다.특정함수를 사용하라고 하지 않았다면 어느것을 사용하시든 상관 없으세요."
좋은 하루 되세요.