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

첨부파일-4.월별 판매수량 합계 에서

=sum(if(($b$3:$b$27=$a31) * (month($f$3:$f$27)=b$30......

여기서

조건1이 ($b$3:$b$27=$a31)

이거고

조건 2가

(month($f$3:$f$27)=b$30)

이건데

왜 조건2에서는 괄호가

(month($f$3:$f$27=b$30)) 이게 아니고

(month($f$3:$f$27)=b$30) 왜 이게 정답이 되는건가요?

이거때문에 배열수식에 갑자기 혼란이 오네요..T.T

답변
2011-08-09 19:49:39

논리적으로 (month($f$3:$f$27=b$30))과 (month($f$3:$f$27)=b$30) 은 서로 다른 수식입니다.

(month($f$3:$f$27=b$30)) 은 $f$3:$f$27 범위의 셀값 각각과 b$30이 같으면, true, 다르면, false를 반환하게 되고 그러한 논리값들을 month 함수가 받게 되죠.. MONTH함수는 인자로 논리값을 받게 되므로, 제대로 된 역할을 기대하기 어렵게 되죠.

(month($f$3:$f$27)=b$30) 은 $f$3:$f$27 범위에서 월만을 추출하여 반환합니다. 이 추출한 '월'들 각각을

b$30과 비교하게 되는 것이죠.

이 수식으로 보아 $f$3:$f$27범위에는 현재 날짜값들이 입력되어 있을것이고, b$30에는 기준 비교값인 숫자형태의 값이 입력되어 있겠군요..

수식의 괄호는 연산의 우선순위를 결정하는 것입니다. 따라서 가장 안쪽 괄호부터 계산이 되는거지요. 괄호만 잘 보시면 이해하실 수 있으실겁니다.

  • *
    2011-08-09 19:49:39

    논리적으로 (month($f$3:$f$27=b$30))과 (month($f$3:$f$27)=b$30) 은 서로 다른 수식입니다.

    (month($f$3:$f$27=b$30)) 은 $f$3:$f$27 범위의 셀값 각각과 b$30이 같으면, true, 다르면, false를 반환하게 되고 그러한 논리값들을 month 함수가 받게 되죠.. MONTH함수는 인자로 논리값을 받게 되므로, 제대로 된 역할을 기대하기 어렵게 되죠.

    (month($f$3:$f$27)=b$30) 은 $f$3:$f$27 범위에서 월만을 추출하여 반환합니다. 이 추출한 '월'들 각각을

    b$30과 비교하게 되는 것이죠.

    이 수식으로 보아 $f$3:$f$27범위에는 현재 날짜값들이 입력되어 있을것이고, b$30에는 기준 비교값인 숫자형태의 값이 입력되어 있겠군요..

    수식의 괄호는 연산의 우선순위를 결정하는 것입니다. 따라서 가장 안쪽 괄호부터 계산이 되는거지요. 괄호만 잘 보시면 이해하실 수 있으실겁니다.

  • *
    2011-08-10 10:22:14

    (month($f$3:$f$27)=b$30)

    month($F$3:$F$27) 에서 괄호를 닫은 것은 month 함수를 적용하기 위한 것입니다.

    f3:f27의 범위에서 월을 먼저 구한 후에 =b$30 으로 월에 해당하는 것을 비교하셔야 하는 것이죠.

    month에서 나와야 하는 값을 먼저 쓰신 후에 비교를 하셔야 정확하게 비교가 됩니다.

    간단하게 말하자면 month 함수의 인수 사용법이라고 할 수 있겠죠.

    그리고

    (month($f$3:$f$27)=b$30)

    month 앞뒤의 괄호는 (조건2) 를 지정 하기 위한 괄호가 되겠습니다.

    (조건1)*(조건2) 를 하기 위한 괄호죠

    좋은 하루 되세요.

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