책 내용 질문하기
함수문제 2-3 번
도서
[2013] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
467
조회수
80
작성일
2014-03-10
작성자
첨부파일

=MAX(($B$12:$B$27=A3)*$F$12:$F$27)-AVERAGE(IF($B$12:$B$27=A3,$F$12:$F$27))

이게 정답이라고 되어있는데

=MAX(($B$12:$B$27=A3)*$F$12:$F$27)-AVERAGE(($B$12:$B$27=A3)*$F$12:$F$27)

이렇게 하면 안되는 이유를 모르곘어요 ㅠㅠ 답도 다르게 나오는데

위에거나 아래거나 if를 써서 조건을 써준거나 괄호 안에 조건쓰고 *로 묶어 주는거나 문법(?) 적으로는 같은말 아닌가요? 답이 왜 다르게 나오고

어떤경우에는 if를 써야 하는지 어떤경우에는 ( ) *로 조건을 지정해도되는지 가르쳐주세요.

답변
2014-03-12 01:58:18

문제가 없어서 수식만 보고 말씀드리자면 두 수식은 다른 내용을 가지게 됩니다.

글로만 쓰려니 조금 복잡하네요...

앞에는 생략하고 Average 부분부터 보면...

Average(if(배열1=A3,배열2)

라는 수식은...

만약 조건에 만족(배열중에서 A3와 같은값)하면 배열2의 값을 가져오고, 그것들의 평균을 계산하여라. 라는 뜻이 됩니다. 결국 조건에 만족하면 배열2중 같은행에 있는값을 가져오고, 만족하지 못하면 False라는 논리값을 가져오게 됩니다. 이렇게 만들어진 새로운 배열에서 평균을 구하게 됩니다.

숫자와 논리값이 모여서 있는 범위에서 평균을 구하게 되면, 논리값은 무시하고, 숫자들만 가지고 평균을 구하게 됩니다. 즉, 조건을 만족하는 값이 만약 30 과 50 뿐이고 나머지는 만족하지 못한다면 30 과 50만 가지고 평균을 구하게 됩니다.

하지만 두번째 수식의 경우...

Average((배열1=A3)*배열2)

라는 수식은...

배열1에서 A3와 같은 값을 가지고 있는지 비교하고, 그 결과를 배열2와 곱한후의 평균을 구하여라. 가 됩니다..

배열1의 범위에서 각각의 셀들은 A3와 값을 비교하고, 같으면 True, 다르면 False를 출력하게 됩니다.

이 결과를 배열2와 곱하게 되므로, True와 곱해진 값은 True를 1로 인식하여, 배열2의 값을 그대로 출력하지만

False와 곱해진 값은 False를 0으로 인식하여 0이라는 값을 출력합니다.

이렇게 조건에 만족되어진 셀은 배열2의 값을, 만족하지 못한 셀은 0의 값을 가지게 되고 이 배열의 평균을 구하게 됩니다. 즉, 조건을 만족하는 값이 만약 30과 50 뿐이고 나머지는 만족하지 못한다면 30,50, 0, 0, 0.... 이런 범위의 평균을 구하게 되는것입니다.

글로만 쓰려니...써놓고 제가 봐도 어렵네요...

예제 만들어서 첨부 달았습니다. 도움이 되셨음 하네요..

  • *
    2014-03-12 01:58:18

    문제가 없어서 수식만 보고 말씀드리자면 두 수식은 다른 내용을 가지게 됩니다.

    글로만 쓰려니 조금 복잡하네요...

    앞에는 생략하고 Average 부분부터 보면...

    Average(if(배열1=A3,배열2)

    라는 수식은...

    만약 조건에 만족(배열중에서 A3와 같은값)하면 배열2의 값을 가져오고, 그것들의 평균을 계산하여라. 라는 뜻이 됩니다. 결국 조건에 만족하면 배열2중 같은행에 있는값을 가져오고, 만족하지 못하면 False라는 논리값을 가져오게 됩니다. 이렇게 만들어진 새로운 배열에서 평균을 구하게 됩니다.

    숫자와 논리값이 모여서 있는 범위에서 평균을 구하게 되면, 논리값은 무시하고, 숫자들만 가지고 평균을 구하게 됩니다. 즉, 조건을 만족하는 값이 만약 30 과 50 뿐이고 나머지는 만족하지 못한다면 30 과 50만 가지고 평균을 구하게 됩니다.

    하지만 두번째 수식의 경우...

    Average((배열1=A3)*배열2)

    라는 수식은...

    배열1에서 A3와 같은 값을 가지고 있는지 비교하고, 그 결과를 배열2와 곱한후의 평균을 구하여라. 가 됩니다..

    배열1의 범위에서 각각의 셀들은 A3와 값을 비교하고, 같으면 True, 다르면 False를 출력하게 됩니다.

    이 결과를 배열2와 곱하게 되므로, True와 곱해진 값은 True를 1로 인식하여, 배열2의 값을 그대로 출력하지만

    False와 곱해진 값은 False를 0으로 인식하여 0이라는 값을 출력합니다.

    이렇게 조건에 만족되어진 셀은 배열2의 값을, 만족하지 못한 셀은 0의 값을 가지게 되고 이 배열의 평균을 구하게 됩니다. 즉, 조건을 만족하는 값이 만약 30과 50 뿐이고 나머지는 만족하지 못한다면 30,50, 0, 0, 0.... 이런 범위의 평균을 구하게 되는것입니다.

    글로만 쓰려니...써놓고 제가 봐도 어렵네요...

    예제 만들어서 첨부 달았습니다. 도움이 되셨음 하네요..

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