2017년도 2회 컴퓨터활용능력 1급 필기 기출문제 36번을 풀이한 것이다.
엑셀 함수 중에서 오류에 관련된 여러 함수들을 중첩하여 수식을 만들고, 다른 결과를 반환하는 수식을 찾는 문제이다. 살펴보자.
36. 다음 중 아래 워크시트를 이용한 수식의 실행 결과가 나머지 셋과 다른 것은?
① =IFERROR(ISLOGICAL(A3), “ERROR”)
② =IFERROR(ISERR(A7), “ERROR”)
③ =IFERROR(ISERROR(A7),“ERROR”)
④ =IF(ISNUMBER(A4), TRUE, “ERROR”)
풀이 :
엑셀 오류 함수들을 중첩하여 놓은 보기들이 있다. 다른 결과를 반환하는 보기를 찾아보자.
각각의 엑셀 오류 함수 중첩 문제
1번) =IFERROR(ISLOGICAL(A3), “ERROR”)
엑셀 ISLOGICAL 함수는 인수가 논리값이라면, TRUE 를 반환하고, 그렇지 않다면 FALSE 를 반환하는 함수이다.
A3 의 값, TRUE 는 논리값이다. 그래서, ISLOGICAL 함수는 TRUE 를 반환한다.
엑셀 IFERROR 함수는 첫번째 인수에서 오류를 체크하여,
오류가 아니라면 값을 반환하고, 오류라면 두번째 인수인 대체값을 결과로 표시한다.
첫번째 인수의 결과는 TRUE 이다. 오류가 아니기에 그 값이 그대로 반환되는 것이다.
관련 함수 :
[컴활 2급] 컴퓨터활용능력 실기 IFERROR 함수 - 논리함수
[컴활 1급] 엑셀 ISLOGICAL 함수로 논리값 찾아내기
2번) =IFERROR(ISERR(A7), “ERROR”)
엑셀 ISERR 함수는 전달 인수가 오류라면, TRUE 를 반환하고, 그렇지 않다면 FALSE 를 반환한다.
추가로, ISERR 함수는 #N/A 오류는 체크하지 못한다.
그래서, 전달된 인수 A7 이 #N/A 오류 이기에 오류로 체크하지 못해 FALSE 가 결과가 되는 것이다.
이 FALSE 값이 IFERROR 함수로 전달되었기에 그 논리값이 그대로 결과 반환된다. FALSE 는 오류가 아니기 때문이다.
관련 함수 : [컴활 1급] 엑셀 ISERR 함수로 #N/A 제외한 오류 찾아내기
[그림1] 엑셀 오류 함수식 결과
3번) =IFERROR(ISERROR(A7),“ERROR”)
엑셀 ISERROR 함수는 전달 인수가 오류라면, TRUE 를 반환한다. 아니라면 FALSE 를 반환하는 것이다.
단, 이 함수는 ISERR 함수와는 다르다. 그래서, #N/A 도 오류로 체크한다. 두 함수의 차이를 기억하자.
A7 의 #N/A 오류를 ISERROR 함수가 체크하였기에 TRUE 를 반환하고,
이 값이 IFERROR 함수로 전달되었기에 TRUE 가 그대로 반환된다.
관련 함수 : [컴활 1급] 엑셀 ISERROR 함수로 수식 오류 찾아내기
4번) =IF(ISNUMBER(A4), TRUE, “ERROR”)
엑셀 ISNUMBER 함수는 전달받은 인수가 숫자인가를 가늠한다.
A4 셀의 값 55 는 숫자이다. 그래서, ISNUMBER 함수는 TRUE 를 반환한다.
숫자가 아니었다면 FALSE 를 결과로 반환할 것이다.
이 TRUE 논리값이 IF 함수로 전달되었다.
IF 함수의 첫번째 인수로 하나의 논리값 TRUE 가 사용되었다. 이는 참 을 말한다.
그래서, 두번째 인수인 TRUE 가 결과로 반환된다.
관련 함수 : [엑셀 모바일] 논리 함수 IF로 조건 비교후 참 거짓 반환
이렇게 1번) 3번) 4번) 모든 에러 체크 함수들은 TRUE 를 최종 결과로 반환한다.
그러나, 2번) 보기만은 FALSE 를 결과로 반환하였다. 문제가 요구하는 정답이다.
엑셀은 오류를 체크하는 함수가 생각보다 다양하다. 그 작은 차이들을 알고 있어야 이런 문제에 대처할 수 있다.
ISERR 와 ISERROR 의 차이는 #N/A 체크 여부임을 다시 한 번 기억하자.
정답 : 2번
이전 문제 : [필기 풀이] 컴활1급 기출문제 2017년2회-35번 엑셀 함수식 풀이
마늘빵.