책 내용 질문하기
AVERAGE(IF()) 배열수식
도서
2018 시나공 컴퓨터활용능력 1급 실기(엑셀, 액세스 2010 사용자용)
페이지
189
조회수
41
작성일
2018-04-18
작성자
탈퇴*원
첨부파일

컴활 실기 1급 부록 p189 5번 문제입니다.

제가 쓴 함수식과 정답 함수식을 비교해보겠습니다.

제가 제출한 답변=TEXT(AVERAGE(IF($F$3:$F$31=L11,$H$3:$H$31,)),"##.0")&"("&STDEV.S(IF($F$3:$F$31=L11,$H$3:$H$31,))&")"

=36.0(44)

정답=TEXT(AVERAGE(IF($F$3:$F$31=L11,$H$3:$H$31)),"0.0") & TEXT(STDEV.S(IF($F$3:$F$31=L11,$H$3:$H$31)),"(0.0)")

=87.0(9.4)

여기서 제가 표준편차의 TEXT를 지정하지 않아 잘못된 수가 나온 점은 이해하겠습니다.

그런데 AVERAGE(IF()) 배열수식을 보면 저는 IF구문에 IF(조건,True일 때,False일 때)를 모두 채운 반면에

정답은 IF구문에 IF(조건,True일 때)와 같이 False일 때를 지정하지 않았습니다.

그리고 결과도 저렇게 크게 차이났습니다.

저는 구문에 차이가 ',' 하나라고 생각했는데 결과가 차이난다는 점이 궁금해

이렇게 질문드리게 되었습니다.

답변
2018-04-23 12:08:24

false 에 대한 값까지 표시해 버리면

결과가 다르게 나타납니다.

아래 설명을 참고해 주세요.

평균값이 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(0,550000,0,0,1650000,0,0...)의 차이겠죠. 같은 이유로 MIN, MEDIAN,SMALL 등의 함수도 반드시 IF문과 함께 사용해야 합니다.

=AVERAGE(550000,1650000,4000000,165000,770000) 와 =AVERAGE(0,550000,0,0,1650000,0,0...) 차이 라고 했는데

첫번째 것은 5650000/5 가 되어 결과가 1130000 되고

두번째 것은 220000/7 이 되어 31428.57143 이 나옵니다.

즉 0 값도 포함하여 나누는 것과 0 값을 포함하지 않고 나누는 것의 차이가 되겠죠.

좋은 하루 되세요.

  • *
    2018-04-23 12:08:24

    false 에 대한 값까지 표시해 버리면

    결과가 다르게 나타납니다.

    아래 설명을 참고해 주세요.

    평균값이 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(0,550000,0,0,1650000,0,0...)의 차이겠죠. 같은 이유로 MIN, MEDIAN,SMALL 등의 함수도 반드시 IF문과 함께 사용해야 합니다.

    =AVERAGE(550000,1650000,4000000,165000,770000) 와 =AVERAGE(0,550000,0,0,1650000,0,0...) 차이 라고 했는데

    첫번째 것은 5650000/5 가 되어 결과가 1130000 되고

    두번째 것은 220000/7 이 되어 31428.57143 이 나옵니다.

    즉 0 값도 포함하여 나누는 것과 0 값을 포함하지 않고 나누는 것의 차이가 되겠죠.

    좋은 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.