책 내용 질문하기
기출문제집에서 244페이지 엑셀 문제 질문입니다.
도서
2016 시나공 사무자동화산업기사 실기(오피스 2007 사용자용)
페이지
244
조회수
49
작성일
2017-11-15
작성자
탈퇴*원
첨부파일

평가가 '최우수'이거나 '우수'인 유지비의 합계의 수식의 해석이 궁금합니다.

=SUMPRODUCT(ISNUMBER(FIND("우수",$L$5:$L$24))*1,K5:K24)

답이 이것인데 *1을 한 것도 이해가 안 가며 우수이거나 최우수인데 우수만 적은 것도 이해가 안가고..

그냥 이해가 안갑니다..ㅠㅠ

그 전회인 8회에서는 우리 또는 해피인 것 을 구할때는 그냥

=sumproduct(isnumber(find("우리",$A$4:$A$23))+isnumber(find("해피",$A$4:$A$23)),F4:F23)

이렇게 두개 더 하면 됬어서 이해가 쉬웠었습니다.

위의 9회차 문제는 이렇게 더하니까 아예 다른 답이 나오더라구요. 알려주시면 감사하겠습니다.

답변
2017-11-16 22:41:21

우수" 로 찾으시면 최우수와 우수를 찾을 수 있기 때문에 최우수를 사용하지 않아도 됩니다.

find 에서 우수 를 찾으면 우수와 최우수 모두 찾을 수 있는 것이죠.

ISNUMBER의 결과는 True나 False로 산출되는데 단독의 경우 True나 False로 산출되고


ISNUMBER의 결과를 더하거나 곱하는 경우에는 값에 따라 1(Ture) 또는 0(False)으로 산출됩니다.

이를 1 또는 0으로 산출하기 위해 인위적으로 *1을 수행하는 것이죠.

*1은 자기 자신을 의미하므로 형식적인 과정입니다.


True*1 = 1


False*1 = 0이므로 True나 False를 1과 0으로 변환하는 한 과정으로 이해하시면 됩니다.

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으로 변경해 주어야 합니다. -> 질문1의 답변

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을 사용하지 않는다고 생각하시면 됩니다.

좋은 하루 되세요.

  • *
    2017-11-16 22:41:21

    우수" 로 찾으시면 최우수와 우수를 찾을 수 있기 때문에 최우수를 사용하지 않아도 됩니다.

    find 에서 우수 를 찾으면 우수와 최우수 모두 찾을 수 있는 것이죠.

    ISNUMBER의 결과는 True나 False로 산출되는데 단독의 경우 True나 False로 산출되고


    ISNUMBER의 결과를 더하거나 곱하는 경우에는 값에 따라 1(Ture) 또는 0(False)으로 산출됩니다.

    이를 1 또는 0으로 산출하기 위해 인위적으로 *1을 수행하는 것이죠.

    *1은 자기 자신을 의미하므로 형식적인 과정입니다.


    True*1 = 1


    False*1 = 0이므로 True나 False를 1과 0으로 변환하는 한 과정으로 이해하시면 됩니다.

    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으로 변경해 주어야 합니다. -> 질문1의 답변

    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, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.