책 내용 질문하기
배열수식...
도서
[2011] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2003 사용자용)
페이지
조회수
99
작성일
2011-09-28
작성자
첨부파일

항상 문제에서 함수가 정해서 그런가보다가 생각하다가...

갑자기 궁금해서 질문해봅니다.

예를 들어 "건물번호별 계약면적 계산하기"라는 문제가 있을 때

이런 경우에 (교재 1편 111p)

1. =sum( (조건)* 범위) 이렇게 구하거나

2. =sum( if ( 조건, 범위) ) 이렇게 구하는 경우가 2가지 입니다. 물론 마지막에

근데 궁금한 것은 2번의 밑에는 if가 들어가고 1번은 안들어갑니다.

건물번호별이라는 조건이 붙어 있으므로 배열수식을 사용할 경우에는 sum과 if가 필요해서

저기 2번처럼 써야 맞는 것 같은데도 1번도 가능하다고 나오는데....왜 그런지요..

이와 비슷한 예로는 "건물번호별 평균 월임대료 계산하기"

= average( if (조건, 범위) )

위에껀 되지만

=average ( (조건) * 범위) 이건 되지가 않잖아요.

답변
2011-09-30 09:26:33

건물번호별 이라고 할때 sum 함수나 max 함수등은 if가 있든 없든 모두 결과가 나옵니다.

if 가 없을때는 조건을 * 로 이어주기만 하면 되세요.

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문과 함께 사용해야 합니다.

좋은 하루 되세요.

"
  • *
    2011-09-30 09:26:33

    건물번호별 이라고 할때 sum 함수나 max 함수등은 if가 있든 없든 모두 결과가 나옵니다.

    if 가 없을때는 조건을 * 로 이어주기만 하면 되세요.

    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문과 함께 사용해야 합니다.

    좋은 하루 되세요.

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