2011년 1회 풀고있는데 ISERROR 함수 이해가안되네요..
오류값 반환하는 함수같은데.. 답을봐도 이해가안갑니다.. 알려주세요..
=IF(ISERROR(LARGE(IF(($J$3:$J$21=$A25)*($F$3:$F$21=2010),$K$3:$K$21),1)),0, LARGE(IF(($J$3:$J$21=$A25)*($F$3:$F$21=2010),$K$3:$K$21),1))
함수부록책보면 if(ISERROR() , ~~~~, !!!!!!) ISERROR이 참이면 ~~~~ 거짓이면 !!!!! 라 써있는데
저 함수식을보면 참일떈 0 , 거짓일땐 최대값계산으로 해야하는거같은데.. 바뀐거같아서..질문드려요
추가로 choose는 1부터 시작인데 만약에 문제에서 2부터시작한다면..
예를들어 A1셀 6번째 글자가 2면 ~ 3이면 ~ 이런문제라치면 mid+1해줘야하는건가요?
ISERROR 함수는 단순한 오류를 확인하는 함수입니다.
=ISERROR(값 또는 수식)
값이나 수식에 에러가 있으면 TRUE 없으면 FALSE를 반환합니다. 끝
예를들어
=ISERROR(3/0) ---------> 결과 : TRUE
( 모든수를 0으로 나누면 #DIV/0 에러가 발생, 에러가 있으므로 TRUE)
=ISERROR(3/1) ----------> 결과 : FALSE
( 3을 1로 나누 3이라는 결과가 나옴, 에러가 없으므로 FALSE)
※ 사용 방법이 비슷한 함수로는 IS~~ 함수를 함께보시면 이해가 편하실수도 있습니다
1. ISBLANK는 공백이 있으면 TRUE, 없으면 FALSE
2. ISTEXT는 문자값이면 TRUE, 아니면 FALSE
3. ISNUMBER는 숫자값이면 TRUE, 아니면 FALSE
등등...그외에도 더 많지만..
이런식으로 단순히 에러인지 아닌지만 판단해 줍니다.
ISERROR의 업그레이드 된 함수로는 IFERROR가 있습니다
=IFERROR(값 또는 수식, 반환할값)
값 또는 수식이 에러값이 있으면, 반환할 값으로 되돌려준다. 없으면 값을 그대로 내보낸다.
EX)
=IFERROR(3/0, "김태희") ----> 결과 : 김태희
(3/0은 #DIV/0 에러를 출력하므로 김태희라는 값이 대체하여 출력)
=IFERROR(3/1, "김태희") -----> 결과 : 1
(3/1은 1값을 내고 에러가 아니므로, 그대로 1을 출력)
------------------------------------------------------------------------------------------
=CHOOSE(인수, 값1,값2,값3,값4....값n)
인수가 1이면 값1을, 인수가 2이면 값2를, 인수가 3이면 값3을, 인수가 n이면 값n을 출력한다.
예를들어 이런문제가 있습니다.
사원번호의 6번째 글자가 0이면 사원, 1이면 주임, 2면 대리, 3이면 과장으로 표시하여라.
사원번호 : SINA_02
사원번호 : SINA_24
사원번호 : SINA_32
이렇게 사원번호가 있다하고 사원번호가 B2셀에 입력되어 있다고 가정해보겠습니다.
사원번호의 6번째의 한글자가 0이면 사원, 1은 주임, 2는 대리, 3은 과장이라고 합니다. 이 문장으로 choose함수로 바꿔보면...
=Choose(인수, "사원","주임","대리","과장")
이 됩니다(순서대로...)
근데 여기서 "사원"이라는 첫번째 값은 인수가 1이 되어야 뽑을수 있는데, 사원번호에서는 0이 사원으로 시작입니다.
사원번호에서 0을 뽑아서 첫번째 값을 뽑으려 할때, 이때 인수에 1을 더해주어서, 인수를 1로 만듭니다.
그럼..
=Choose(Mid(b2,6,1)+1,"사원","주임","대리","과장") 이라는 식에서...
사원번호 : SINA_02 일때....
0+1 = 1 ( 추출된값은 0이고 1을 더해주어 인수를 1로 만듬 -> 첫번째값인 "사원" 에 대응함)
사원번호 : SINA_24 일때...
2+1 = 3 ( 추출된값은 2이고 1을 더해주고 인수를 3로 만듬 -> 두번째값인 "대리"에 대응함)
사원번호 : SINA_32 일때...
3+1 = 4 ( 추출된값은 2이고 1을 더해주고 인수를 4으로 만듬 -> 두번째값인 "과장"에 대응함)
이렇게 됩니다...
만약 1을 더해주지 않는다면... 사원번호가 SINA_02일때 0을 추출하게 되고, 그 0을 인수로 쓰게되니깐..
CHOOSE함수에서 에러가 나오게 됩니다...
(CHOOSE 함수에서 인수는 무조건 1부터 시작합니다)
-
*2013-10-10 21:00:59
ISERROR 함수는 단순한 오류를 확인하는 함수입니다.
=ISERROR(값 또는 수식)
값이나 수식에 에러가 있으면 TRUE 없으면 FALSE를 반환합니다. 끝
예를들어
=ISERROR(3/0) ---------> 결과 : TRUE
( 모든수를 0으로 나누면 #DIV/0 에러가 발생, 에러가 있으므로 TRUE)
=ISERROR(3/1) ----------> 결과 : FALSE
( 3을 1로 나누 3이라는 결과가 나옴, 에러가 없으므로 FALSE)
※ 사용 방법이 비슷한 함수로는 IS~~ 함수를 함께보시면 이해가 편하실수도 있습니다
1. ISBLANK는 공백이 있으면 TRUE, 없으면 FALSE
2. ISTEXT는 문자값이면 TRUE, 아니면 FALSE
3. ISNUMBER는 숫자값이면 TRUE, 아니면 FALSE
등등...그외에도 더 많지만..
이런식으로 단순히 에러인지 아닌지만 판단해 줍니다.
ISERROR의 업그레이드 된 함수로는 IFERROR가 있습니다
=IFERROR(값 또는 수식, 반환할값)
값 또는 수식이 에러값이 있으면, 반환할 값으로 되돌려준다. 없으면 값을 그대로 내보낸다.
EX)
=IFERROR(3/0, "김태희") ----> 결과 : 김태희
(3/0은 #DIV/0 에러를 출력하므로 김태희라는 값이 대체하여 출력)
=IFERROR(3/1, "김태희") -----> 결과 : 1
(3/1은 1값을 내고 에러가 아니므로, 그대로 1을 출력)
------------------------------------------------------------------------------------------
=CHOOSE(인수, 값1,값2,값3,값4....값n)
인수가 1이면 값1을, 인수가 2이면 값2를, 인수가 3이면 값3을, 인수가 n이면 값n을 출력한다.
예를들어 이런문제가 있습니다.
사원번호의 6번째 글자가 0이면 사원, 1이면 주임, 2면 대리, 3이면 과장으로 표시하여라.
사원번호 : SINA_02
사원번호 : SINA_24
사원번호 : SINA_32
이렇게 사원번호가 있다하고 사원번호가 B2셀에 입력되어 있다고 가정해보겠습니다.
사원번호의 6번째의 한글자가 0이면 사원, 1은 주임, 2는 대리, 3은 과장이라고 합니다. 이 문장으로 choose함수로 바꿔보면...
=Choose(인수, "사원","주임","대리","과장")
이 됩니다(순서대로...)
근데 여기서 "사원"이라는 첫번째 값은 인수가 1이 되어야 뽑을수 있는데, 사원번호에서는 0이 사원으로 시작입니다.
사원번호에서 0을 뽑아서 첫번째 값을 뽑으려 할때, 이때 인수에 1을 더해주어서, 인수를 1로 만듭니다.
그럼..
=Choose(Mid(b2,6,1)+1,"사원","주임","대리","과장") 이라는 식에서...
사원번호 : SINA_02 일때....
0+1 = 1 ( 추출된값은 0이고 1을 더해주어 인수를 1로 만듬 -> 첫번째값인 "사원" 에 대응함)
사원번호 : SINA_24 일때...
2+1 = 3 ( 추출된값은 2이고 1을 더해주고 인수를 3로 만듬 -> 두번째값인 "대리"에 대응함)
사원번호 : SINA_32 일때...
3+1 = 4 ( 추출된값은 2이고 1을 더해주고 인수를 4으로 만듬 -> 두번째값인 "과장"에 대응함)
이렇게 됩니다...
만약 1을 더해주지 않는다면... 사원번호가 SINA_02일때 0을 추출하게 되고, 그 0을 인수로 쓰게되니깐..
CHOOSE함수에서 에러가 나오게 됩니다...
(CHOOSE 함수에서 인수는 무조건 1부터 시작합니다)