책 내용 질문하기
=SUM(TRUE,1)은 값이 2가되는데, =SUMPRODUCT(TRUE,1)은 에러가 나는 이유가 뭔가요?
도서
[2014] 컴퓨터활용능력 1급 필기
페이지
96
조회수
134
작성일
2015-07-21
작성자
탈퇴*원
첨부파일

질문1) 2014 시나공 컴활1급 필기 2편, 96쪽 맨 하단에 [H3]셀에 판매1부의 인원수 구하는 식은

{=SUM((B2:B9=G3)*1)} 인데,

이 식에서 "*1" 부분을 "+0"으로 고쳐 {=SUM((B2:B9=G3)+0)}으로 해도 계산이 되고 결과도 맞게 나옵니다.

이유가 뭔지 알려주세요. 논리값의 어떤 특성 때문에 이런 결과가 나오나요?

아래는 교재와는 상관없지만,

질문2) =SUM(TRUE,1)은 값이 2가되고 엑셀이 계산을 해내는데, =SUMPRODUCT(TRUE,1)는 에러가 나는 이유가 뭔가요?

답변 부탁드립니다.

감사합니다!

답변
2015-07-27 09:46:03

안녕하세요.

조건으로 지정한 'B2:B9=G3'의 결과값이 true나 false로 로 나오기 떄문에 이것을 1이나 0으로 바꿔주기 위해 *1을 해주는 것입니다. true는 1, false는 0으로 인식하므로 *1을 해줘 수치값으로 변경해준 것입니다. +0을 해줘도 원래 의미하는 값에는 영향을 주지 않고 데이터만 수치 데이터로 바꿔주기때문에 +0으로 해줘도 상관 없습니다.

일반적으로 생각하면 될꺼 같은데 안되네요. sumproduct 함수는 배열을 인수로 지정하는데, 배열의 인수로 논리값은 인식하지 못하는 듯 합니다. 프로그램 상의 버그인지, sumproduct 함수에서 논리값을 인식하지 못하도록 만든건지 알수가 없네요. 확실한 답변을 해드리지 못해 죄송합니다.

즐거운 하루 되세요.

  • *
    2015-07-27 09:46:03

    안녕하세요.

    조건으로 지정한 'B2:B9=G3'의 결과값이 true나 false로 로 나오기 떄문에 이것을 1이나 0으로 바꿔주기 위해 *1을 해주는 것입니다. true는 1, false는 0으로 인식하므로 *1을 해줘 수치값으로 변경해준 것입니다. +0을 해줘도 원래 의미하는 값에는 영향을 주지 않고 데이터만 수치 데이터로 바꿔주기때문에 +0으로 해줘도 상관 없습니다.

    일반적으로 생각하면 될꺼 같은데 안되네요. sumproduct 함수는 배열을 인수로 지정하는데, 배열의 인수로 논리값은 인식하지 못하는 듯 합니다. 프로그램 상의 버그인지, sumproduct 함수에서 논리값을 인식하지 못하도록 만든건지 알수가 없네요. 확실한 답변을 해드리지 못해 죄송합니다.

    즐거운 하루 되세요.

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