질문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)는 에러가 나는 이유가 뭔가요?
답변 부탁드립니다.
감사합니다!
안녕하세요.
조건으로 지정한 '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 함수에서 논리값을 인식하지 못하도록 만든건지 알수가 없네요. 확실한 답변을 해드리지 못해 죄송합니다.
즐거운 하루 되세요.