엑셀에서 열심히 수식을 작성하다 보면 한 번쯤은 #DIV/0!, #VALUE!, #N/A 같은 번거로운 에러 메시지를 마주하게 됩니다. 이럴 때 가장 깔끔하게 문제를 해결해 주는 함수는 IFERROR 함수입니다. 수식 계산 결과에 에러가 발생했을 때 이를 사용자가 원하는 대체 텍스트나 공란으로 깔끔하게 바꿔주기 때문입니다.
IFERROR 함수의 기본 구문
IFERROR 함수는 수식의 결과를 체크하게 됩니다. 그리고 에러의 유무에 따라서 서로 다른 값을 출력해 줍니다. 기본 함수 사용 방법은 =IFERROR(검사할 수식, 에러 발생 시 표시할 값) 입니다. 가장 첫 번째로 들어가는 인수인 검사할 수식에는 원래 수행하려던 나눗셈이나 VLOOKUP 같은 수식을 넣고 두 번째 인수에는 에러 발생 시 표시할 값에는 에러가 났을 때 대신 띄울 텍스트나 숫자를 입력하면 됩니다. 일종의 알림이 되는 형식 입니다. 따라서 문제가 생겼을 경우 오류가 났는지 안 났는지 확인을 할 수 있습니다. 만약 수식에 아무런 문제가 없다면 원래의 정상적인 계산 결과가 출력되고 만약 계산 도중 에러가 나타나게 되면 지정한 대체 문구가 나타나게 됩니다. 한번 예를 들어보겠습니다. 어떤 숫자를 0으로 나누는 =1/0 수식은 엑셀에서 #DIV/0! 에러를 출력하게 됩니다. 하지만 =IFERROR(1/0, "계산불가") 라고 작성하면 에러 기호 대신 '계산불가'라는 문구가 화면에 나오게 됩니다. 엑셀 업무에서 IFERROR 함수를 제대로 활용하려면 우선 엑셀에서 어떤 에러들이 왜 발생하는지 그 원인을 파악해 두는 것이 좋습니다. 첫째,가장 많이 발생하는 에러인 #DIV/0! 에러는 어떤 숫자를 0으로 나누거나 값이 비어있는 셀로 나누었을 때 발생 하게 됩니다. 분모가 0이 될 수 없기 때문에 생기는 대표적인 엑셀의 에러입니다. 둘째로 #VALUE! 에러는 수식나 함수에 잘못된 데이터가 들어갔을 때 나타납니다. 숫자를 더해야 하는 인수에 텍스트가 포함되어 있으면 엑셀이 계산을 진행하지 못합니다. 따라서 결과가 제대로 나오지 않게 됩니다. 셋째, #N/A 에러는 VLOOKUP이나 MATCH 같은 참조 함수에서 찾고자 하는 값이 지정한 데이터 범위 내에 존재하지 않을 때 나타나게 됩니다. 넷째, #REF! 에러는 수식이 참조하고 있던 셀이나 열이 삭제되어 어디에 있는지 모를 때 잃었을 때 발생하며 다섯째로 #NAME? 에러는 함수 이름의 스펠링을 틀렸거나 텍스트 양옆의 큰따옴표를 누락했을 때 나타나게 됩니다.
에러 대신 해당없음 또는 빈칸으로 표시하기
이제 실무 매출표나 실적표에서 자주 쓰이는 방법을 설명하겠습니다. I열에 입력된 판매량을 K열의 주문 수량으로 나누는 수식 =I4/K4 가 있다고 가정해 보겠습니다. 만약 K4 셀의 값이 0이거나 빈칸이라면 결과 셀에는 #DIV/0! 에러가 출력됩니다. 이때 수식을 =IFERROR(I4/K4, "해당없음") 으로 수정해 주면 에러가 발생하는 항목에만 '해당없음'이라는 설정된 문구가 대신 나오게 됩니다. 만약 텍스트조차 표시하지 않고 빈 셀로 남겨두고 싶다면 두 번째 인수에 큰따옴표 두 개를 붙인 =IFERROR(I4/K4, "") 형태로 작성하면 됩니다 이 방법은 수백, 수천 줄에 달하는 대용량 데이터를 다룰 때 셀 서식을 깔끔하게 유지시켜 주므로 보고서의 완성도를 대폭 올려주는 효과도 있습니다. IFERROR 함수를 가장 잘 쓰는 방법은 UP 같은 조회 함수와 함께 결합될 때입니다. 단독으로 VLOOKUP을 사용하면 원본 테이블에 찾는 데이터가 없을 경우 엑셀은 무조건 #N/A 에러를 출력합니다. 기존 수식이 =VLOOKUP(A2, $E$2:$F$20, 2, FALSE) 였다면, 이를 IFERROR 함수로 겉을 감싸서 =IFERROR(VLOOKUP(A2, $E$2:$F$20, 2, FALSE), "미등록 회원") 처럼 작성할 수 있습니다. 이렇게 수식을 구성하고 만들어 두면 조회가 정상적으로 될 때에는 정상적인 결과값을 가져오고 테이블에 없는 데이터일 경우 #N/A 대신 '미등록 회원'이라는 문구를 출력해 주므로 데이터를 다루는 사용자 사람에서 훨씬 확실하게 상황을 파악할 수 있습니다. IFERROR 사용 시 주의해야 할 점이 있습니다. IFERROR 함수는 모든 종류의 에러를 무조건 지정된 값으로 덮어버리는 함수 입니다. 덕분에 매우 편리하지만, 한편으로는 함수 스펠링 오타(#NAME?)나 셀 참조 파괴(#REF!)처럼 작업자가 반드시 수정해야 할 치명적인 수식 오류까지 감춰버릴 수 있습니다. 따라서 수식을 처음 작성하시는 과정에서는 IFERROR를 바로 적용하지 말고 수식이 정상 동작하는지 충분히 검증하는 과정을 거치는 것이 좋습니다. 그 후 데이터 검증이 완료된 시점에서 최종 공유용 또는 보고서 작성용 파일로 변환하기 위해 IFERROR를 씌워주는 것이 실수를 줄이는 것이 좋습니다. 오류 메시지 없는 깔끔한 엑셀 문서는 작업자의 전문성을 보여주는 좋은 지표가 됩니다. IFERROR 함수의 원리를 완벽히 숙지하셔서 실무 보고서 작성에 유용하게 응용해 보시길 바랍니다.