티스토리 뷰

컴활2급 실기에 사용되는 엑셀의 논리함수인 IFERROR 함수 입니다. 컴퓨터활용능력 2012년 개정에 논리함수에 추가된 함수입니다. 오피스 2003 까지는 존재하지 않다가 마이크로소프트 오피스 2007 의 엑셀버전 에서부터 사용되는 함수이기도 합니다.  이 함수는 표현식 혹은 값에서 오류가 발생하였는지 체크하고 발생시에는 대체값을 반환합니다. 이 함수가 생기면서 VLOOKUP 함수식의 오류체크 작업이 한결 간결해졌습니다. VLOOKUP 과 IFERROR 함수의 결합은 아래에서 참고로 설명드립니다.

IFERROR함수가 찾을 수 있는 에러의 종류는 다음과 같습니다.
#N/A , #VALUE! , #REF! , #DIV/0! , #NUM! , #NAME? , #NULL!

설명 : IFERROR 함수는 value 인수에서 오류가 발생하였는지를 체크하여 오류 발생시에는 value_if_error 인수의 대체값을 반환합니다. 에러를 찾을 수 없을 때는 그 수식의 결과를 반환합니다.
구문 : IFERROR(value, value_if_error)
인수 :
    value : 조건식 혹은 표현식(계산식) 의 형태로 주로 사용됩니다.
    value_if_error : value 인수에 오류가 발생하였을 때 결과로 반환될 값입니다.

IFERROR 함수사용 예제

IFERROR함수 사용예제

[그림1]

사용 예제1 : =IFERROR(10/5, 0)
사용 결과1 : 2
10/5 의 수식의 에러를 체크하고 에러가 생긴다면 0 을 반환할 것입니다. 하지만 이는 에러가 아니지요. 하여 그 결과인 2 가 반환되었습니다.

사용 예제2 : =IFERROR(10/0, 0)
사용 결과2 : 0
10/0 의 수식의 오류를 살핍니다. 10을 0으로 나눌 수는 없지요. 하여 #DIV/0! 오류가 반환됩니다. 이를 IFERROR 가 체크하여 value_if_error 인수, 즉 오류시 대체값인 0 을 반환한 것입니다.

사용 예제3 : =IFERROR(5<4, "틀린식")
사용 결과3 : FALSE
결과를 의아하게 생각하시는 분들도 있을 것입니다. 5<4 의 첫번째 인수로 사용된 논리식은 거짓입니다. 5가 4보다 작지 않으니까요. 하지만 논리식이 거짓이라하여 오류가 발생하지는 않습니다. 논리식은 항상 그 결과가 TRUE 혹은 FALSE 입니다. 위의 예제도 오류없는 틀린 논리식이기에 FALSE 를 반환한 것입니다.

사용 예제4 : =IFERROR(C6/10, "오류")
사용 결과4 : 0
C6 셀이 아무값도 입력되어 있지 않다면 C6/10 의 수식에는 오류가 없습니다. 이 빈셀을 수치값으로 나누면 그 결과는 0 이 됩니다. 하여 대체값인 "오류" 가 표시되지 않았습니다.

사용 예제5 : =IFERROR(EDATE(C7, -1), "무효한 날짜 반환")
사용 결과5 : 무효한 날짜 반환
이는 EDATE 함수의 사용예제 5번과 IFERROR 함수를 결합한 예제입니다. C7 의 값이 1900-01-30 이기에 두번째인수 month 가 -1 이라 면 1899-12-30 이 결과로 반환됩니다. 하지만 이는 엑셀에서 무효한 날짜 이기에 오류가 발생하고 하여 대체값인수 value_if_error 의 설정값 "무효한 날짜 반환" 이 결과로 표시됩니다.

참고1 : VLOOKUP 함수의 오류 체크에 IFERROR 함수를 활용해 봅니다.

문: A1:B6 범위의 엑셀 함수 원하는 함수명을 찾아 해당 함수의 분류를 구합니다.

IFERROR_VLOOKUP함수


1) "IFERROR" 함수를 찾아 봅니다.
=VLOOKUP("IFERROR", $A$2:$B$6, 2, 0)

1-풀이) "IFERROR" 를 A2:B6 범위에서 찾아 2번째 열(분류) 을 반환합니다. 마지막 인수 0은 정확히 일치하는 값을 찾을때 사용됩니다.

2) "IF" 함수를 찾아 봅니다.
=VLOOKUP("IF", $A$2:$B$6, 2, 0)

2-풀이) "IF" 함수를 A2:B6 범위에서 찾아 두번재 열을 반환합니다. 역시 마지막 인수로 0이 사용되었기에 정확히 일치하는 값을 찾습니다. 하지만 "IF" 함수 는 해당범위에 없습니다. 하여 #N/A 오류를 반환합니다.

3) 2)번에 IFERROR 함수를 보태어 위와 같이 찾을 수 없는 값에 대한 오류에 대처합니다.
=IFERROR(VLOOKUP("IF", $A$2:$B$6, 2, 0), "없는 함수")

3-풀이) 2)번의 함수식을 IFERROR 함수로 감싸게 되면 안쪽의 가장 바깥쪽의 IFERROR 함수가 마지막 결과를 반환합니다. 즉 안쪽의 VLOOKUP 함수에 생긴 #N/A 오류를 대체값인 "없는 함수" 라는 결과로 대체하여 반환합니다. 2)번과는 다르게 오류가 아닌 "없는 함수" 라는 결과를 얻게 되는 것입니다.

컴활2급 에 사용되는 IFERROR 함수, 활용도가 높은 함수 이고 간단한 함수이기에 컴활2급 필기에도 자주 출제될 것 같습니다. 기억해 두시기 바랍니다. 컴활 독학, 오늘도 하나의 함수를 익힙니다.


마늘빵.


댓글