엑셀 IFERROR 함수는 수식에서 오류가 발생하면 오류가 표시되지 않도록 하거나 오류 대신 다른 값을 표시할 수 있습니다. IFERROR 함수의 이름은 IF와 ERROR가 합쳐진 형태입니다. 만약(IF)에 에러(ERROR)가 발생하면 정해진 방법으로 처리하라는 의미입니다.
구문(Syntax)
IFERROR(value, value_if_error)
수식이 오류이면 사용자가 지정한 값을 반환한다.
* 인식 가능한 오류 유형 : #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME? , #NULL!
인수
- value : 입력된 수식
- value_if_error : 수식의 결과가 에러이면 대신 표시할 값
사용 예
1) 수식에 오류가 있으면 '수식오류'로 표시
다음과 같이 이익을 판매실적으로 나누어서 이익율을 구할 경우 셀에 숫자 대신에 문자가 들어가면 #VALUE! 오류, '나눗셈 수식'인데 분모가 0이면 #DIV/0! 오류가 발생합니다.
IFERROR 함수를 사용하여 오류 대신 다른 값을 표시해 보겠습니다.
[E13] 셀에 다음 수식을 입력합니다.=IFERROR(D13/C13,"수식오류")
원래의 수식을 IFERROR로 감싸고 오류가 날 때 표시할 '수식오류'를 적어주면 됩니다.
[E13] 셀의 수식을 복사하여 [E14:E16] 범위에 붙여 넣습니다.
오류가 없으면 이익율이 정상으로 표시되고, 오류가 있는 경우에만 '수식오류'로 표시됩니다.
엑셀을 잘 모르는 사람이 봐도 어디에 문제가 있다는 것을 바로 알 수 있습니다.
2) 수식에 오류가 있으면 무조건 '0'으로 표시하기
IFERROR 함수를 사용하면 수식에 오류가 있을 때 무조건 '0'으로 표시하거나 공백 등 원하는 값으로 표시할 수도 있습니다.
원래의 수식을 IFERROR로 감싸고 오류가 날 때 표시할 값 '0'을 적어줍니다.
=IFERROR(D21/C21,0)
오류가 없으면 이익율이 정상으로 표시되고 오류가 있는 경우에 '0'이 표시되지만 22행의 결과('이누리'는 이익이 없으므로 이익율이 실제로 0%)와 구분이 안되는 문제가 있습니다. 따라서 오류 발생 시 0 또는 공백으로 표시하는 방법은 부득이한 경우에만 사용하는 것이 좋습니다.
사용상 주의
IFERROR 함수의 한계
IFERROR 함수는 오류의 종류를 구분하지 않고 모든 오류를 지정한 값으로 바꿔주기 때문에 인수를 잘못 입력했음에도 불구하고 오류를 정확하게 표시하지 않아서 오류를 찾기가 어려운 문제가 있습니다. 예를 들어 찾기 함수(VLOOKUP, MATCH등)를 사용할 때 찾는 값이 없을 때와 수식의 오류를 구분하지 못하는 문제점이 있습니다. '찾는 값이 없을 때의 오류처리'는 IFERROR 함수 대신 IFNA 함수를 사용하는 것이 좋습니다.
관련 글
쉽게 설명해주셔서 고맙습니다!