부서가 경리부 또는 관리부인 사원들의 연가보상비의 합을 구할 때
풀이의 정답은
=SUMPRODUCT(ISNUMBER(FIND("리부",C5:C23))*1,K5:K23)
라고 나와 있습니다.
이때 *1은 왜 붙는지 궁금합니다.
안녕하세요. 길벗 수험서 운영팀입니다.
FIND(찾을 텍스트, 문자열, 시작 위치) 함수는 찾을 텍스트를 문자열에서 찾아 시작 위치를 반환하는 함수입니다.
=sumproduct(isnumber(find("우수",범위)*1 ,범위))
ISNUMBER 함수는 단순히 숫자면 TRUE, 숫자가 아니면 FALSE를 표시하는 함수로, 1을 곱하여 ‘TRUE’나 ‘FALSE’로 표시된 값을 1이나 0으로 변경하기 위해서입니다. 일반적으로 TRUE는 1, FALSE는 0으로 취급하므로 TRUE*1=1, FALSE*1=0으로 표시됩니다.
ISNUMBER(FIND("리부",L5:L24))의 결과값은 TRUE나 FALSE로 표시됩니다. 그러므로 곱하기 1을 해주어 TRUE나 FALSE를 1이나 0으로 변경해 주어야 합니다.
참고로
ISNUMBER(FIND("우리",$A$4:$A$23))+ISNUMBER(FIND("해피",$A$4:$A$23))의 경우
ISNUMBER(FIND("우리",$A$4:$A$23))의 결과는 TREU나 FALSE로,
ISNUMBER(FIND("해피",$A$4:$A$23))의 결과도 TRUE나 FALSE로 반환됩니다.
이를 더해주게(+)게 되면 결과는 1이나 0, 즉 TRUE+TRUE=1, TRUE+FALSE=0, FALSE+FALSE=0으로 값이 반환됩니다.
그러므로 1을 곱해줘도 곱해주지 않아도 됩니다.
이해하기가 어렵다면 ISNUMBER가 한번 사용된다면 *1을, 두번 사용된다면 *1을 사용하지 않는다고 생각하시면 됩니다.
행복한 하루되세요.^^
-
관리자2019-06-26 22:59:24
안녕하세요. 길벗 수험서 운영팀입니다.
FIND(찾을 텍스트, 문자열, 시작 위치) 함수는 찾을 텍스트를 문자열에서 찾아 시작 위치를 반환하는 함수입니다.
=sumproduct(isnumber(find("우수",범위)*1 ,범위))
ISNUMBER 함수는 단순히 숫자면 TRUE, 숫자가 아니면 FALSE를 표시하는 함수로, 1을 곱하여 ‘TRUE’나 ‘FALSE’로 표시된 값을 1이나 0으로 변경하기 위해서입니다. 일반적으로 TRUE는 1, FALSE는 0으로 취급하므로 TRUE*1=1, FALSE*1=0으로 표시됩니다.
ISNUMBER(FIND("리부",L5:L24))의 결과값은 TRUE나 FALSE로 표시됩니다. 그러므로 곱하기 1을 해주어 TRUE나 FALSE를 1이나 0으로 변경해 주어야 합니다.
참고로
ISNUMBER(FIND("우리",$A$4:$A$23))+ISNUMBER(FIND("해피",$A$4:$A$23))의 경우
ISNUMBER(FIND("우리",$A$4:$A$23))의 결과는 TREU나 FALSE로,
ISNUMBER(FIND("해피",$A$4:$A$23))의 결과도 TRUE나 FALSE로 반환됩니다.
이를 더해주게(+)게 되면 결과는 1이나 0, 즉 TRUE+TRUE=1, TRUE+FALSE=0, FALSE+FALSE=0으로 값이 반환됩니다.
그러므로 1을 곱해줘도 곱해주지 않아도 됩니다.
이해하기가 어렵다면 ISNUMBER가 한번 사용된다면 *1을, 두번 사용된다면 *1을 사용하지 않는다고 생각하시면 됩니다.
행복한 하루되세요.^^