책 내용 질문하기
sumproduct함수 질문이요!!
도서
[2013] 사무자동화산업기사 실기(오피스 2007 사용자용)
페이지
22
조회수
58
작성일
2013-07-19
작성자
첨부파일

사무자동화 산업기사 준비 중 기출문제를 푸는데 어려운 점이 있네요..

1. 평가가 최우수이거나 우수인 유지비의 합계 9회기출문제
=sumproduct(isnumber(find("우수", L5:L24))*1,k5:k24)
L5:L24에서 우수가 포함된 셀을 찾는다 찾으면 true(1) 못찾으면 false(0) X1 을 한다
k5:k24 각 셀과 곱해서 더한다
(k5 X 0 or 1 + k6 x 0 or 1 + k7 x 0 or 1 .....)
위의식을 풀면 이렇게 되는거죠?
2.대리점명이 '우리'또는'해피'인 합 8회기출문제
=Sumproduct(Isnumber(Find("우리",a4:a23)) ?? + isnumber(find("해피", a4:a34))??, f4:f23)
질문은 2번식은 어떻게 해석을 해야 되나요...
위의식을 풀면 a4에서 a23중 우리가 포함된 셀을 찾는다. 그리고 true false 값으로 바뀐다
+ a4에서 a23중 해피가 포함된 해피가 포함된 셀을 찾고, true flase 값으로 바뀐다.
곱해서 더한다 인가요.. 식이 머리에 안그려지네요...
f4 x true + false + f5 x true + true 등등등.. 이렇게 식이 되는건가요..????
왜 2.에는 x1을 하지 않나요? ?부분에 X1을 해줘야하는거 아닌가요?
곱하기를 안해도 되는거면 1.번식에도 x1을 안해도 되는건가요?
답변
2013-07-22 09:42:01

안녕하세요. 길벗 수험서 운영팀입니다.

FIND(찾을 텍스트, 문자열, 시작 위치) 함수는 찾을 텍스트를 문자열에서 찾아 시작 위치를 반환하는 함수입니다.
최우수에는 우수가 포함되어 있기 때문에 우수를 사용하면 우수(1), 최우수(2)를 모두 찾을 수 있습니다.
그렇기 때문에
=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을 사용하지 않는다고 생각하시면 됩니다.
행복한 하루되세요.^^
"
  • *
    2013-07-22 09:42:01

    안녕하세요. 길벗 수험서 운영팀입니다.

    FIND(찾을 텍스트, 문자열, 시작 위치) 함수는 찾을 텍스트를 문자열에서 찾아 시작 위치를 반환하는 함수입니다.
    최우수에는 우수가 포함되어 있기 때문에 우수를 사용하면 우수(1), 최우수(2)를 모두 찾을 수 있습니다.
    그렇기 때문에
    =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을 사용하지 않는다고 생각하시면 됩니다.
    행복한 하루되세요.^^
    "
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.