책 내용 질문하기
평균값이186503이 나왔어여.
도서
[2011] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2003 사용자용)
페이지
113
조회수
64
작성일
2011-06-06
작성자
첨부파일

전 안되는데여.설명 나와있는데여,전부 문장 하나하나 잘 몰라여.

배열수식에서 조건*범위만 쓰는데 null값은 뭔가요?? 생뚱맞게 저는 모르겠어여...말도 어려워여.반환???

참...나...익숙하지 않은식과 익숙하지 않은말 풀이하니라 머리가 쥐나겠어여.

average함수는 수식이 1개만 쓰는데,그 이유를 설명해놓은 말같은데...여기까지에여...저의 머리는...^^;;

답변
2011-06-07 13:09:38

좀 쉽게 설명 하자면

average(if(조건,반활할값))

으로 사용하면 조건에 맞으면 반환할 값을 나타내게 됩니다. 그리고 조건에 맞지 않으면 null 아무것도 가지지 않은 값이 나타난다는 것이죠.

만약 조건에 맞는 값중에 10,20,30,40,50 인 값이 있다면

average(10,20,,30,40,,50,,) 과 같이 null값이 생기게 됩니다. 조건에 맞으면 10,20 과 같은 값을 반환하게 되고, 조건이 맞지 않으면

빈 공백 , , 즉 아무것도 입력되지 않는 것이죠.

이렇게 하시면 10+20+30+40+50 을 해서 평균을 내면 됩니다. 그럼 평균은 30이 되게 되죠.

그런데

average((조건1)*(반환할값))

과 같이 쓰게 되면

조건이 참이면 1, 아니면 0이 되어

조건에 맞는 값이 10,20,30,40,50 이고 조건에 맞지 않는 값도 위에 처럼 있다고 하면

1 * 10 = 10

1 * 20 = 20

과 같이 되는데

조건이 거짓인것은

0 * 14 = 0

0 * 43 = 0

과 같이 0이 나오게 됩니다.

이렇게 되면

average(10,20,0,30,40,0,50,0,0) 이 되게 되고

이것을 다 더한값 150에 더한값의 개수인 9를 나눠 줘야 하기때문에

평균이 16.67 이 나오게 되는 것입니다.

평균이 확 줄었죠?

이렇게 0값이 들어오게 되면 평균이 이상하게 구해지게 되므로 if문이 꼭 필요하다는 설명을 하고 있는것입니다.

이와 비슷한 예로

min을 들어보면

위와 같이 조건이 참일때 반환하고 거짓일때는 아무것도 반환하지 않으면

min(10,20,,30,40,,50,,) 에서 최소값은 10이 됩니다.

그런데

if를 쓰지 않은 min값은

min(10,20,0,30,40,0,50,0,0) 되어 0이 최소값이 되는 것이죠.

구하고자 하는 값과 달라지게 되는 것입니다. min은 항상 0밖에 안나오게 되죠.

이런 이유로 min, median, small등도 if와 같이 사용하셔야 합니다.

좋은 하루 되세요.

"
  • *
    2011-06-07 13:09:38

    좀 쉽게 설명 하자면

    average(if(조건,반활할값))

    으로 사용하면 조건에 맞으면 반환할 값을 나타내게 됩니다. 그리고 조건에 맞지 않으면 null 아무것도 가지지 않은 값이 나타난다는 것이죠.

    만약 조건에 맞는 값중에 10,20,30,40,50 인 값이 있다면

    average(10,20,,30,40,,50,,) 과 같이 null값이 생기게 됩니다. 조건에 맞으면 10,20 과 같은 값을 반환하게 되고, 조건이 맞지 않으면

    빈 공백 , , 즉 아무것도 입력되지 않는 것이죠.

    이렇게 하시면 10+20+30+40+50 을 해서 평균을 내면 됩니다. 그럼 평균은 30이 되게 되죠.

    그런데

    average((조건1)*(반환할값))

    과 같이 쓰게 되면

    조건이 참이면 1, 아니면 0이 되어

    조건에 맞는 값이 10,20,30,40,50 이고 조건에 맞지 않는 값도 위에 처럼 있다고 하면

    1 * 10 = 10

    1 * 20 = 20

    과 같이 되는데

    조건이 거짓인것은

    0 * 14 = 0

    0 * 43 = 0

    과 같이 0이 나오게 됩니다.

    이렇게 되면

    average(10,20,0,30,40,0,50,0,0) 이 되게 되고

    이것을 다 더한값 150에 더한값의 개수인 9를 나눠 줘야 하기때문에

    평균이 16.67 이 나오게 되는 것입니다.

    평균이 확 줄었죠?

    이렇게 0값이 들어오게 되면 평균이 이상하게 구해지게 되므로 if문이 꼭 필요하다는 설명을 하고 있는것입니다.

    이와 비슷한 예로

    min을 들어보면

    위와 같이 조건이 참일때 반환하고 거짓일때는 아무것도 반환하지 않으면

    min(10,20,,30,40,,50,,) 에서 최소값은 10이 됩니다.

    그런데

    if를 쓰지 않은 min값은

    min(10,20,0,30,40,0,50,0,0) 되어 0이 최소값이 되는 것이죠.

    구하고자 하는 값과 달라지게 되는 것입니다. min은 항상 0밖에 안나오게 되죠.

    이런 이유로 min, median, small등도 if와 같이 사용하셔야 합니다.

    좋은 하루 되세요.

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