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

=SUM( ($B$11:$B$29=B5)* ( YEAR( $H$11:$H$29)=2003 ) )

=SUM( ($B$11:$B$29=B5)* YEAR( $H$11:$H$29)=2003 )

앞에 문제에서는 2번 식처럼 괄호를 안써도 값이 같던데

왜 8번문제에서는 값이 다를까요?

차이가 뭐죠?

그리고 if일때는 1을 써줘야 개수의 합이 되는데 =sum(if(b11:b29=b3,if(year(h11:h29)=2003,1)))

*으로 조건문을 만들면 1을 쓰지 않아도 개수의 합이 되네요

왜 그런걸까요???

if조건문과 *조건문의 차이는 뭔가요!!????

답변
2013-06-12 12:35:41

조건1에서 계산한 값에 * year($h$11:$h$29)를 먼저 계산하고 = 2003 을 계산 하게 되어 결과가 정확히 나오지 않을 수 있습니다.

조건은 조건끼리 묶어서 사용하세요.

=sum(if((조건1)*(조건2),1)

은 if 문에서 조건이 참일때 1을 반영하고 조건이 거짓일때는 아무것도 반영하지 않습니다.

=sum(1,1,,1,,,1,1) 과 같이 결과가 나올 것이고 1을 모두 더하여 조건에 맞는 것의 개수를 구할 수 있죠.

=sum((조건1)*(조건2))

인 경우 조건이 참일때 1을 반영하고 조건이 거짓일때 0을 반영하므로

1 * 1 = 1

1 * 0 = 0

0 * 1 = 0

0 * 0 = 0

이 되어 조건이 모두 참일때만 1값이 나오게 됩니다.

여기서 나온 1과 0값을 모두 더하여 개수를 구할 수 있는 것이죠.

좋은 하루 되세요.

"
  • *
    2013-06-12 12:35:41

    조건1에서 계산한 값에 * year($h$11:$h$29)를 먼저 계산하고 = 2003 을 계산 하게 되어 결과가 정확히 나오지 않을 수 있습니다.

    조건은 조건끼리 묶어서 사용하세요.

    =sum(if((조건1)*(조건2),1)

    은 if 문에서 조건이 참일때 1을 반영하고 조건이 거짓일때는 아무것도 반영하지 않습니다.

    =sum(1,1,,1,,,1,1) 과 같이 결과가 나올 것이고 1을 모두 더하여 조건에 맞는 것의 개수를 구할 수 있죠.

    =sum((조건1)*(조건2))

    인 경우 조건이 참일때 1을 반영하고 조건이 거짓일때 0을 반영하므로

    1 * 1 = 1

    1 * 0 = 0

    0 * 1 = 0

    0 * 0 = 0

    이 되어 조건이 모두 참일때만 1값이 나오게 됩니다.

    여기서 나온 1과 0값을 모두 더하여 개수를 구할 수 있는 것이죠.

    좋은 하루 되세요.

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