본문 바로가기
IT 이것저것/엑셀 활용

Microsoft Excel 오류를 잡아내는 ISERROR 함수 사용해 보기

by KaNonx카논 2024. 8. 26.
반응형

Microsoft Excel 오류를 잡아내는 ISERROR 함수 사용해 보기

엑셀이 이해하지 못하거나 계산할 수 없는 공식을 작성하면 

오류 메시지를 보여줌으로써 문제에 대한 관심을 유도합니다. 

 

ISERROR 기능은 오류를 잡아내고 오류가 발견되었을 때 

대안을 제공하는 데 도움을 줄 수 있습니다.

 

2024.06.13-워드 문서에 엑셀 워크 시트를 그대로 삽입하는 방법을 알아보자

 

Excel의 ISERROR 함수

Excel ISERROR 기능은 #CALC!, #DIV/0!, #N/A, #NAME?, #NULL!, 

#REF!, #VALUE!, #SPIL! 등 모든 종류의 오류를 잡아냅니다. 

 

오류가 감지되면 TRUE, 그렇지 않으면 FALSE입니다.

이 기능은 모든 버전의 엑셀 2000~2021 및 엑셀 365에서 사용할 수 있습니다.

ISERROR 함수의 구문은 다음과 같이 간단합니다.

 

ISERROR(값)


여기서 값은 오류를 확인할 셀 값 또는 공식입니다.


Excel ISERROR 수식

ISERROR 공식을 가장 간단한 형태로 만들려면 오류를 테스트하려는 셀에 참조를 제공합니다. 

 

예:
=ISERROR(A2)

오류가 발견되면 TRUE가 됩니다. 테스트한 셀에 오류가 없으면 FALSE가 됩니다.

 

Excel의 IF ERROR 수식

오류가 발생했을 때 사용자 지정 메시지를 반환하거나 

다른 계산을 수행하려면 IF 기능과 함께 ISERROR을 사용합니다. 

 

일반 공식은 다음과 같습니다.

 

IF(ISERROR(…), text_or_calculation_if_error, formula()

 

사람의 언어로 번역하면 다음과 같습니다. 

 

주 공식이 오류를 초래하면 지정된 텍스트를 표시하거나 다른 계산을 실행하거나 

그렇지 않으면 공식의 정상적인 결과를 반환합니다.

아래 이미지에서 총계를 수량으로 나누면 가격 열에 몇 가지 오류가 발생합니다.

 

모든 다른 오류 코드를 사용자 지정 텍스트로 바꾸려면 

다음 IF ISERROR 공식을 사용할 수 있습니다.

=IF(ISERROR(A2/B2), "Unknown", A2/B2)

 

 

Excel 2007 이상 버전에서는 내장된 IFERROR 함수를 사용하여 동일한 결과를 얻을 수 있습니다.

=IFERROR(A2/B2, "Unknown")

 

IFERROR 공식은 A2/B2 계산을 한 번만 수행하기 때문에 조금 더 빠르게 실행된다는 점에 유의해야 합니다.

 

반면 IF ISERROR는 먼저 오류를 발생시키는지 확인한 다음

테스트가 FALSE인지 확인하여 두 번 계산합니다.


IF ERROR VLUKEUP 공식

VLOOKUP에서 ISERROR을 사용하는 것은 사실 위에서 설명한

 IF ISERROR 공식의 특정한 경우입니다. 

 

VLOOKUP 함수가 조회 값을 찾을 수 없거나 다른 이유로 실패할 경우 

다음 구문을 사용하여 사용자 지정 텍스트 메시지를 표시합니다.

 

IF(ISERROR(VLOOKUP(…)), "custom_text", VLOOKUP(…)

 

이 예에서는 검색 테이블(D3:E10)에서 메인 테이블(A3:B15)로 시간을 끕니다. 

 

룩업 테이블에 룩업 값(참가자 이름)이 없으면 "Not Qualified"를 반환합니다.

 

=IF(ISERROR(VLOOKUP(A3, $D$3:$E$10, 2, FALSE)), "Not qualified", VLOOKUP(A3, $D$3:$E$10, 2, FALSE))



다른 오류를 무시하고 조회 값을 찾을 수 없는 경우(#N/A 오류)에만

사용자 지정 텍스트를 표시하려면 Excel 2013 이상에서

IFNA VLOOKUP 공식을 사용하거나 이전 버전에서 IFNA VLOOKUP을 사용합니다.



IF ERROR Index MATCH 공식

INDEX MATCH 조합(또는 Excel 365의 INDEX XMATCH 공식)을 사용하여 

조회를 수행할 때 동일한 기술을 사용하여 발생 가능한 오류를 트랩하고 처리할 수 있습니다. 

 

ISERROR 함수는 오류를 확인하고 IF는 오류가 발생하면 지정된 텍스트를 표시합니다.

 

IF(ISTERROR(INDEX(Return_column, MATCH(lookup_value, lookup_column, 0)), "custom_text", INDEX(Return_column, MATCH(lookup_value, lookup_column, 0))

 

룩업 테이블이 첫 번째 열에 시간이 있다고 가정합니다. 

 

VLOOKUP은 왼쪽을 볼 수 없으므로 

INDEX MATCH 공식을 사용하여 D열에서 시간을 끌어냅니다.

 

=INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))



그런 다음 위에서 언급한 일반 공식에 저장하여 검색된 오류를 원하는 텍스트로 대체합니다.

 

=IF(ISERROR(INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))), "Not qualified", INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0)))

 

 IF ISERROR VLOOKUP 공식과 마찬가지로 #N/A 오류만 트랩하고 

잠재적인 문제를 공식 자체로 위장하지 않는 것이 더 합리적입니다. 

 

이를 위해 인덱스 수학 공식을 Excel 2013 이상의 IFNA 또는 이전 버전의 IFISNA로 포장합니다.

 


IF ISERROR Yes/No 공식

이전의 모든 예제에서 IF ISERROR는 오류가 아닌 경우 주 공식의 결과를 반환했습니다. 

그러나 오류가 있는 경우 반환하고 오류가 없는 경우 반환하는 등 다른 방식으로도 작동할 수 있습니다.

 

IF(ISERROR(공식(…)), "text_if_error", "text_if_no_error")

 

표본 데이터 세트에서 정확한 시간에 관심이 없다고 가정하면 

그룹 A의 어떤 참가자가 자격이 있는지, 어떤 참가자가 자격이 없는지 알고 싶을 뿐입니다. 

 

이렇게 하려면 MATCH 기능을 사용하여 A열의 이름과 D열의 자격을 갖춘 참가자 목록을 비교한 다음 

결과를 ISERROR에 제공합니다. 

 

D열에서 이름을 사용할 수 없는 경우(MATCH는 오류를 반환함) IF 기능을 사용하여 

"No" 또는 "Not Qualified"를 표시합니다. 

 

D열에 이름이 나타나면(오류 없음) "Yes" 또는 "Qualified"를 반환합니다.

=IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "No", "Yes" )

 

오류 수를 세는 방법

특정 열의 오류 수를 얻으려면 셀 하나만 확인하는 것이 아니라 범위를 확인해야 합니다. 

 

이를 위해 대상 범위를 ISERROR로 "피드"하고 반환된 부울 값을 

이중 단항 연산자(--)를 사용하여 1's와 0's로 강제합니다.

 

SUM 또는 SUMPRODUCT 기능은 숫자를 합산하여 최종 결과를 전달할 수 있습니다.

 

=SUM(--ISERROR(C2:C10))

 

이는 동적 어레이를 지원하는 엑셀 365와 엑셀 2021에서만 정규 공식으로 작동합니다. 

 

Excel 2019 이전 버전에서는 Ctrl+ Shift+ Enter 키를 눌러 배열 공식을 만들어야 합니다

(수동으로 곱슬곱슬한 괄호를 입력하지 마십시오. 작동하지 않습니다!).

 

{=SUM(--ISERROR(C2:C10))}

 

 

또는 배열을 기본적으로 처리하는 SUMPRODUCT 함수를 사용할 수 있으므로 

모든 버전에서 일반적인 Enter 키로 수식을 완성할 수 있습니다.

=SUMPRODUCT(--ISERROR(C2:C10))

 

 

 

Excel의 ISERROR와 IFERROR의 차이

ISERROR 및 IFERROR 함수는 모두 Excel에서 오류를 트랩하고 처리하는 데 사용됩니다. 

 

차이점은 다음과 같습니다.

ISERROR는 순수한 형태로 값이 오류인지 아닌지만 테스트합니다. 

모든 엑셀 버전으로 제공됩니다.


IFERROR 함수는 오류를 억제하거나 위장하도록 설계되었습니다. 

오류가 발견되면 지정한 다른 값을 반환합니다.

 Excel 2007 이상에서 사용할 수 있습니다.


언뜻 보면 IFERROR는 IFISERROR 공식을 대체하는 속기식처럼 보입니다.

그러나 자세히 살펴보면 다음과 같은 차이점을 알 수 있습니다.

IFERROR을 사용하면 value_if_error만 지정할 수 있습니다. 

 

오류가 없으면 항상 테스트한 값/공식의 결과를 반환합니다.


IF ISERROR는 보다 유연성을 제공하며 오류가 발생하면 어떻게 해야 하는지, 

오류가 없으면 어떻게 해야 하는지와 같은 두 가지 상황을 모두 처리할 수 있도록 합니다.

 

 

요점을 더 잘 설명하려면 다음 공식을 고려하십시오.

=IFERROR(A1, "Calculation error")

=IF(ISERROR(A1), "Calculation error", A1)

 

이 두 공식은 동등합니다. 

둘 다 A1에서 공식 기반 값을 검사하고 오류인 경우 "계산 오류"를 반환합니다. 

그렇지 않으면 값을 반환합니다.



그러나 A1의 값이 오차가 아니라면 계산을 수행하려면 어떻게 합니까? 

IFERROR 함수는 그렇게 할 수 없습니다. 

 

IF ISERROR의 경우 마지막 인수에 원하는 계산을 입력하기만 하면 됩니다. 

 

=IF(ISERROR(A1), "Calculation error", A1*2)

 

 

보다시피, IFERROR 공식은 오래된 것으로 간주되기도 하지만 여전히 유용할 수 있습니다.

 

 

2024.01.10-엑셀에서 SUTOTAL 수식으로 월별 매출액, 성적 평균 계산하는 법

2024.06.03-Microsoft Excel "파일에 액세스할 수 없음" 오류 해결 방법

2024.06.05-Microsoft Excel이 컴퓨터에서 계속 충돌하는 이유를 알아보자

2024.05.17-'Word에서 파일을 열려는 중 오류가 발생했습니다' 문구 해결 방법

 

-

반응형

댓글