책 내용 질문하기
컴활 1급 배열함수 실습에 관해서
도서
2016 시나공 SUMMARY 컴퓨터활용능력 1급 필기
페이지
24
조회수
147
작성일
2016-03-01
작성자
첨부파일

2016시나공 summary를 공부하고 있는 학생입니다

배열함수에 관한 실습 08 p.24를 공부하다 의문이 생겨 질문드립니다

해설 중 건물번호별 계약면적을 구하는 방법은 두가지

{=sum((조건)*(합계를_구할_범위))}

{=sum(if(조건,합계를_구할_범위))}

이렇게 써져있습니다.

이에따라

(조건)*(합계를_구할_범위)와

if(조건,합계를_구할_범위)를 같은 의미로 이해하였고 서로 완벽히 치환된다고 이해를 했습니다.

그런데 다음문제(건물 번호별 평균 월임대료)를 구할 때는

if(조건,합계를_구할_범위)만 해설로 나와있었고

실제로 (조건)*(합계를_구할_범위)를 사용하니 다른 값이 발생했습니다

이러한 차이가 왜 생긴 것인지 이해가 가지않아서 질문을 올립니다

답변
2016-03-02 10:03:55

안녕하세요.

다음 내용은 기본서 교재에 들어 있는 내용입니다. 참고하여 읽어보세요.

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,400000,165000,770000)’와 ‘=AVERAGE(0,550000,0,0,1650000,0,0…)’의 차이겠죠. 같은 이유로 MIN, MEDIAN, SMALL 등의 함수도 배열 수식으로 작성할경우 반드시 IF문과 함께 사용해야 합니다.

즐거운 하루 되세요.

  • *
    2016-03-02 10:03:55

    안녕하세요.

    다음 내용은 기본서 교재에 들어 있는 내용입니다. 참고하여 읽어보세요.

    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,400000,165000,770000)’와 ‘=AVERAGE(0,550000,0,0,1650000,0,0…)’의 차이겠죠. 같은 이유로 MIN, MEDIAN, SMALL 등의 함수도 배열 수식으로 작성할경우 반드시 IF문과 함께 사용해야 합니다.

    즐거운 하루 되세요.

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