책 내용 질문하기
배열수식 관련하여 질문드립니다~
도서
2017 시나공 컴퓨터활용능력 1급 실기(엑셀,액세스 2007사용자용)
페이지
조회수
40
작성일
2016-11-15
작성자
첨부파일

조건에 만족하는 영역의 평균을 구하는 경우에,

{average(if(조건,평균구할범위))} 이렇게 구하잖아요.

근데 왜 {average((조건)*(평균구할범위))} 이 값이랑 다른가요...?

+sum,max등 다른 함수로 계산 할 때는 값이 같게 나와요!!

{SUM(IF(조건,합계구할범위))} = {SUM((조건)*(합계구할범위))}

답변
2016-11-22 10:40:22

평균값이 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 값을 포함하지 않고 나누는 것의 차이가 되겠죠.

좋은 하루 되세요.

  • *
    2016-11-22 10:40:22

    평균값이 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, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.