ISBLANK, ISNUMBER, ISTEXT 등 셀 값의 유형을 확인하는 기본 정보 함수에 이어 엑셀 수식에서 빈번하게 발생하는 오류를 감지하고 분류하는 방법을 알아볼 차례입니다.
보고서에 덕지덕지 붙어 있는 #N/A, #VALUE!, #DIV/0! 같은 오류 메시지들은 보는 사람을 혼란스럽게 하고, 보고서의 신뢰도를 떨어뜨리죠.
ISERROR, ISNA, ISERR 함수를 집중적으로 다룰 예정입니다. 이 함수들을 통해 다양한 오류 유형을 정확히 파악하고, 이를 기반으로 오류 메시지를 깔끔하게 처리하거나, 특정 오류에 맞는 맞춤형 대응을 할 수 있게 됩니다. 엑셀 데이터 진단 및 관리 능력을 한 단계 더 끌어올려 봅시다!
왜 오류 유형 감지 함수를 알아야 할까요?
엑셀 수식은 완벽하지 않으며, 데이터가 없거나, 잘못된 형식으로 입력되거나, 0으로 나누는 등의 상황에서 오류를 반환합니다.
이러한 오류를 방치하면:
- 보고서 가독성 저하: 지저분한 오류 메시지로 인해 핵심 정보가 눈에 들어오지 않습니다.
- 분석 신뢰도 하락: 오류가 포함된 데이터는 잘못된 결론으로 이어질 수 있습니다.
- 수동 작업 증가: 오류 발생 시 일일이 찾아 수정하는 데 시간이 많이 소요됩니다.
이 함수들은 오류 자체를 없애지는 못하지만, 오류를 정확히 인식하고 사용자 친화적으로 표시하거나, 특정 오류에 대한 자동화된 조치를 가능하게 합니다. 이는 엑셀을 통한 데이터 분석 및 보고 작업에서 필수적인 '에러 핸들링' 역량입니다.
주요 함수들
다음 함수들을 실무 예제와 함께 자세히 살펴보겠습니다.
- ISERROR: 모든 유형의 오류 값(#N/A 포함)을 확인
- ISNA: #N/A 오류만 확인
- ISERR: #N/A를 제외한 모든 오류 값을 확인
- (응용) IFERROR: 수식에서 오류가 발생했을 때 지정된 값 반환 (논리 함수 시리즈에서 다루었지만 정보 함수와 연계하여 강조)
실무 예제로 배우는 엑셀 함수 마스터하기
각 함수를 실제 비즈니스 시나리오에 적용하여 오류를 효과적으로 감지하고 처리하는 방법을 보여드리겠습니다.
1. ISERROR: 모든 유형의 오류를 포괄적으로 확인
ISERROR 함수는 인수로 전달된 값이 어떤 유형의 오류이든지 (#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!) TRUE를 반환하고, 오류가 아니면 FALSE를 반환합니다. 가장 광범위하게 오류를 감지할 때 사용됩니다.
- 기본 형식: =ISERROR(값)
- 값: 오류인지 검사할 셀 또는 수식의 결과.
실무 예제: 월별 매출액을 계산하는 과정에서 데이터 입력 오류로 인해 다양한 오류가 발생했습니다.
월별 데이터 |
1,200 |
#DIV/0! |
텍스트 오류 |
#N/A |
1,500 |
#REF! |
예제 목표: B열에 각 셀의 값이 오류이면 "오류 발생", 그렇지 않으면 "정상"이라고 표시하세요.
해결 방법: B2 셀에 다음 수식을 입력하고 아래로 채웁니다. =IF(ISERROR(A2), "오류 발생", "정상")
결과:
월별 데이터 | 상태 |
1,200 | 정상 |
#DIV/0! | 오류 발생 |
텍스트 오류 | 정상 |
#N/A | 오류 발생 |
1,500 | 정상 |
#REF! | 오류 발생 |
최상급 실무 활용: ISERROR는 IFERROR가 없는 구형 엑셀 버전에서 오류를 처리하는 데 유용하게 사용되었으며, 특정 셀에 오류가 발생했는지 여부를 조건으로 삼아 다른 계산을 중단하거나 대체 값을 반환할 때 사용됩니다.
예를 들어, IF(ISERROR(VLOOKUP(...)), "조회 실패", VLOOKUP(...))과 같이 활용할 수 있습니다. 이는 보고서의 안정성을 높이고, 사용자가 오류를 발견했을 때 명확한 메시지를 제공합니다.
2. ISNA: #N/A 오류만 특정하여 확인
ISNA 함수는 인수가 #N/A 오류일 경우에만 TRUE를 반환하고, 다른 유형의 오류나 오류가 아닐 경우에는 FALSE를 반환합니다. 주로 VLOOKUP, MATCH, XLOOKUP 등 조회 함수에서 검색 값이 없을 때 발생하는 오류를 특정하여 처리할 때 사용됩니다.
- 기본 형식: =ISNA(값)
실무 예제: 직원 ID로 직원명을 조회하는 과정에서, 존재하지 않는 ID 때문에 #N/A 오류가 발생합니다.
직원 ID |
EMP001 |
EMP005 |
EMP002 |
(참조할 직원 목록: D2:E4 셀에 있다고 가정)
D열 | E열 |
직원 ID | 직원명 |
EMP001 | 김사원 |
EMP002 | 이대리 |
EMP003 | 박과장 |
예제 목표: B열에 VLOOKUP으로 직원명을 조회하되, #N/A 오류가 발생하면 "직원 정보 없음"이라고 표시하세요. (단, IFERROR를 사용하지 않는 방식으로 ISNA 활용)
해결 방법: B2 셀에 다음 수식을 입력하고 아래로 채웁니다. =IF(ISNA(VLOOKUP(A2, $D$2:$E$4, 2, FALSE)), "직원 정보 없음", VLOOKUP(A2, $D$2:$E$4, 2, FALSE))
결과:
직원ID | 직원명 |
EMP001 | 김사원 |
EMP005 | 직원 정보 없음 |
EMP002 | 이대리 |
최상급 실무 활용: ISNA는 조회 실패로 인한 오류만을 특별히 처리해야 할 때 유용합니다.
예를 들어, #N/A는 "데이터 없음"으로, #DIV/0!은 "계산 불가능"으로 다르게 메시지를 보여주고 싶을 때, ISNA와 ISERROR (또는 ISERR)를 조합하여 복잡한 오류 처리 로직을 구현할 수 있습니다.
3. ISERR: #N/A를 제외한 오류 유형 확인
ISERR 함수는 인수가 #N/A 오류가 아닌 다른 모든 유형의 오류일 경우 TRUE를 반환하고, #N/A이거나 오류가 아닐 경우에는 FALSE를 반환합니다.
- 기본 형식: =ISERR(값)
실무 예제: 각종 계산 결과가 포함된 테이블에서 #N/A 오류는 무시하고, 그 외의 다른 유형 오류들(VALUE!, DIV/0!, REF!)만 찾아내어 "재확인 필요"라고 표시해야 합니다.
계산 |
100 |
#DIV/0! |
#N/A |
#VALUE! |
200 |
#REF! |
예제 목표: B열에 #N/A를 제외한 오류가 발생하면 "재확인 필요", 그렇지 않으면 "정상"이라고 표시하세요.
해결 방법: B2 셀에 다음 수식을 입력하고 아래로 채웁니다. =IF(ISERR(A2), "재확인 필요", "정상")
결과:
계산 | 결과상태 |
100 | 정상 |
#DIV/0! | 재확인 필요 |
#N/A | 정상 |
#VALUE! | 재확인 필요 |
200 | 정상 |
#REF! | 재확인 필요 |
최상급 실무 활용: ISERR는 특정 오류 유형(예: 조회 실패)은 무시하고, 계산 관련 오류나 참조 오류와 같이 즉시 조치가 필요한 오류만 식별하여 강조하거나 알림을 줄 때 유용합니다.
데이터 클리닝 과정에서 특정 오류만을 타겟팅하여 수정 작업을 자동화할 수 있습니다.
4. (응용) IFERROR: 간결한 오류 메시지 처리
IFERROR 함수는 엑셀 2007 이후 버전부터 도입된 강력하고 간결한 오류 처리 함수입니다.
수식의 결과가 오류일 경우 지정된 값을 반환하고, 오류가 아닐 경우 수식의 원래 결과를 반환합니다.
- 기본 형식: =IFERROR(값, 오류일_때_값)
- 값: 오류인지 검사할 수식 또는 셀 참조.
- 오류일_때_값: 값에서 오류가 발생했을 때 반환할 값 (예: "", 0, "데이터 없음").
실무 예제: 제품별 판매율을 계산해야 하는데, '총 판매량'이 0인 제품은 #DIV/0! 오류를 발생시킵니다.
제품명 | 개별 판매량 | 총 판매량 |
A | 50 | 200 |
B | 30 | 0 |
C | 40 | 100 |
예제 목표: D열에 '판매율(개별 판매량 / 총 판매량)'을 계산하되, 오류 발생 시 0으로 표시하세요.
해결 방법: D2 셀에 다음 수식을 입력하고 아래로 채웁니다. =IFERROR(B2/C2, 0)
결과:
제품명 | 개별 판매량 | 총 판매량 | 판매율 |
A | 50 | 200 | 0.25 |
B | 30 | 0 | 0 |
C | 40 | 100 | 0.4 |
최상급 실무 활용: IFERROR는 VLOOKUP, MATCH, 나누기(DIV/0!) 등 다양한 종류의 오류를 한 번에 깔끔하게 처리할 때 가장 널리 사용됩니다.
보고서의 시각적 완성도를 높이고, 오류로 인해 발생하는 다른 수식의 연쇄 오류를 방지하여 전반적인 스프레드시트의 안정성을 확보하는 데 필수적입니다.
이 함수는 정보 함수는 아니지만, 정보 함수들이 오류를 감지하는 논리값(TRUE/FALSE)을 반환하는 것과 달리, 오류를 실제로 대체 값으로 '처리'하는 역할을 하므로 정보 함수와 함께 오류 관리의 양대 축을 이룹니다.
ISERROR, ISNA, ISERR 함수를 통해 엑셀 수식에서 발생하는 다양한 오류 유형을 감지하고 분류하는 방법을 상세히 살펴보았습니다. 또한, IFERROR를 활용하여 오류 메시지를 깔끔하게 처리하는 실무적인 접근 방식도 알아보았습니다. 이 함수들을 통해 여러분은 보고서의 가독성과 신뢰성을 높이고, 데이터 기반 의사결정의 정확도를 향상시킬 수 있을 것입니다.