'IfError( Find ~ )' 식에서 ">=1"을 생략해도 정상적으로 실행됩니다!
교재 287쪽(문제), 293쪽(정답)
2015 컴활1급 실기 엑셀 기본모의고사 1회
문제2 계산작업
4. [표5]에서 부서에 판매가 포함된 사원에 대해 팀별 기본급의 합계를 계산하여
[표4]의 [F10:F12] 영역에 표시하시오.
▶ If, Sum, Right, Find 함수를 사용한 배열 수식으로 작성.
<재질문 시작> 지난번 질문의 답변으로 "IfError( Find ~ " 식에서 ">=1"을 생략하면 올바른 결과가 나오지않는다고
하셨는데, 저는 정답과 같은 결과가 나옵니다. 다시 한번 확인 해 주세요!
IfError( Find("판매",$A$20:$A$39)>=1,FALSE) 식에서 '>=1'을 생략해서
IfError( Find("판매",$A$20:$A$39)>,FALSE) 로 대치해도 결과는 정답과 같이 나옵니다.
정답 식에서 '>=1'을 생략해서 아래와 같이 작성해도 정답이 도출되는데 전혀 문제가 없다고 생각합니다.
F10 → { =SUM(IF((RIGHT($A$20:$A$39,2)=E10)*IFERROR( FIND("판매",$A$20:$A$39) ,FALSE),$H$20:$H$39)) }
A) Find("판매",$A$20:$A$39)>=1 : '판매'라는 글자가 있으면 True, 없으면 False
B) Find("판매",$A$20:$A$39) : '판매'라는 글자가 있으면 1,2,3,4...(True), 없으면 False
바로 위의 A식에서 판매라는 글자가 있으면 논리값 True를 반환하고,
B식에서는 판매라는 글자가 있는 경우 위치 값인 1,2,3,... 등을 반환합니다.
조건1(부서=팀별) * A식 = True
조건1(부서=팀별) * B식 = 1, 2, 3, .... 100만 = True
'>=1'을 생략하면 식이 단순화되어 편리하다고 생각합니다.
'>=1'을 생략해도 결과는 정상적으로 나오니까 다시한번 확인 해주세요!
<# 재질문 끝>
------아래는 지난번 질문 -----------
어떤 범위에 특정 부분값의 존재 여부를 표현하는 엑셀 식
2015 컴활1급 실기 엑셀 기본모의고사 1회
C:\길벗컴활1급\01 엑셀\03 기본모의고사\기본모의고사 01회정답.xlsm
교재 287쪽(문제)
문제2 계산작업
4. [표5]에서 부서에 판매가 포함된 사원에 대해 팀별 기본급의 합계를 계산하여
[표4]의 [F10:F12] 영역에 표시하시오.
▶ If, Sum, Right, Find 함수를 사용한 배열 수식으로 작성.
정답
F10 → { =SUM(IF((RIGHT($A$20:$A$39,2)=E10)*IFERROR( FIND("판매",$A$20:$A$39)>=1,FALSE),$H$20:$H$39)) }
조건1: 팀별
조건2: 부서에 "판매" 글자가 포함된 경우
질문> 이 문제는 조건2(부서에 '판매'포함)가 핵심인거 같은데요,
위 정답에서는 조건2에 해당하는 식을 IfError( Find("판매",$A$20:$A$39)>=1,FALSE) 로 나타내었는데,
조건2에 해당하는 식에서 '>=1' 부분을 생략해버리고 아래와 같이 작성할 경우 잘못된 결과가 나오는 경우가
있을 수 있나요?
IfError( Find("판매",$A$20:$A$39) ,False)
만약에 생략해도 문제가 없다면, 교재정답에서 '>=1'을 생략한 식을 공식처럼 사용하면 어떨까요?
IfError( Find(찾을 부분 값, 범위),False)
(어떤 범위에 특정 부분값 존재여부)
감사합니다
안녕하세요.
조건의 결과가 0이면 FALSE, 0 이외의 값은 TRUE로 인식하므로 >=1을 지정하지 않아도 결과에는 영향을 미지치 않는 것이 맞네요. 즉, 님의 말씀대로 >=1을 지정하지 않으셔도 됩니다.
즐거운 하루 되세요.
-
*2016-08-08 10:06:25
안녕하세요.
조건의 결과가 0이면 FALSE, 0 이외의 값은 TRUE로 인식하므로 >=1을 지정하지 않아도 결과에는 영향을 미지치 않는 것이 맞네요. 즉, 님의 말씀대로 >=1을 지정하지 않으셔도 됩니다.
즐거운 하루 되세요.