목차
이 자습서에서는 Excel ISERROR 함수의 실제 사용을 살펴보고 다양한 수식의 오류를 테스트하는 방법을 보여줍니다.
엑셀이 이해하지 못하거나 계산할 수 없는 수식을 작성하면 에러 메시지를 띄워 문제를 지적한다. ISERROR 함수는 오류를 포착하는 데 도움이 되며 오류가 발견되었을 때 대안을 제공합니다.
Excel의 ISERROR 함수
Excel의 ISERROR 함수는 모든 종류의 오류를 포착합니다. #CALC!, #DIV/0!, #N/A, #NAME?, #NUM!, #NULL!, #REF!, #VALUE! 및 #SPILL!을 포함합니다. 결과는 부울 값입니다. 오류가 감지되면 TRUE, 그렇지 않으면 FALSE입니다.
이 함수는 Excel 2000~2021 및 Excel 365의 모든 버전에서 사용할 수 있습니다.
ISERROR의 구문은 함수는 다음과 같이 간단합니다.
ISERROR(value)여기서 value 는 오류를 확인할 셀 값 또는 수식입니다.
Excel ISERROR 수식
가장 간단한 형식으로 ISERROR 수식을 만들려면 오류를 테스트할 셀에 대한 참조를 제공합니다. 예:
=ISERROR(A2)
오류가 발견되면 TRUE가 표시됩니다. 테스트한 셀에 오류가 없으면 FALSE:
IF ISERROR in Excel
사용자 지정 메시지를 반환하거나 에러 발생시 계산이 달라지므로 IF함수와 함께 ISERROR를 사용합니다. 일반 공식은 다음과 같습니다.
IF(ISERROR( formula(…), 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 ISERROR VLOOKUP 공식
VLOOKUP과 함께 ISERROR를 사용하는 것은 사실 IF IS의 특별한 경우입니다. 위에서 논의한 ERROR 수식입니다. VLOOKUP 함수가 조회 값을 찾을 수 없거나 다른 이유로 실패한 경우
IF(ISERROR(VLOOKUP(…)), " custom_text" 구문을 사용하여 사용자 지정 텍스트 메시지를 표시합니다. VLOOKUP(…))이 예에서는 조회 테이블(D3:E10)에서 기본 테이블(A3:B15)로 시간을 가져옵니다. 조회 값(참가자 이름)이 조회 목록에 존재하지 않는 경우룩업 테이블에서는 "적격하지 않음"을 반환합니다.
=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 공식을 사용하거나 이전 버전에서 IF ISNA VLOOKUP을 사용하세요. 버전.
IF ISERROR INDEX MATCH 수식
INDEX MATCH 조합(또는 Excel 365의 INDEX XMATCH 수식)을 사용하여 조회를 수행할 때 동일한 기술을 사용하여 가능한 모든 오류를 포착하고 처리할 수 있습니다. ISERROR 함수는 오류를 확인하고 오류가 발생하면 IF가 지정된 텍스트를 표시합니다.
IF(ISERROR(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 이상에서는 INDEX MATH 수식을 IFNA로, 이전 버전에서는 IF ISNA로 래핑합니다.
만약ISERROR Yes/No 수식
이전의 모든 예에서 IF ISERROR는 오류가 아닌 경우 기본 수식의 결과를 반환했습니다. 그러나 다른 방식으로 작동할 수도 있습니다. 오류가 있으면 무언가를 반환하고 오류가 없으면 다른 것을 반환합니다.
IF(ISERROR( formula (…)), " text_if_error " , " text_if_no_error ")샘플 데이터세트에서 정확한 시간에 관심이 없고 그룹 A의 참가자 중 자격이 있는 참가자와 그렇지 않은 참가자만 알고 싶다고 가정합니다. 이렇게 하려면 MATCH 함수를 사용하여 A열의 이름을 D열의 적격 참가자 목록과 비교한 다음 결과를 ISERROR에 제공합니다. D 열에서 이름을 사용할 수 없는 경우(MATCH가 오류를 반환함) IF 함수가 "아니오" 또는 "정식화되지 않음"을 표시하도록 합니다. 이름이 D 열에 나타나면(오류 없음) "예" 또는 "적격"을 반환합니다.
=IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "No", "Yes" )
오류 수를 계산하는 방법
특정 열의 오류 개수를 구하려면 하나의 셀이 아닌 범위를 확인해야 합니다. 이를 위해 대상 범위를 ISERROR에 "공급"하고 이중 단항 연산자(--)를 사용하여 반환된 부울 값을 1과 0으로 강제 변환합니다. SUM 또는 SUMPRODUCT 함수는 숫자를 더하고 최종 결과를 제공할 수 있습니다.
예:
=SUM(--ISERROR(C2:C10))
이 기능은 Excel에서만 일반 수식으로 작동합니다. 동적 배열을 지원하는 365 및 Excel 2021. Excel 2019 및 이전 버전에서는배열 수식을 만들려면 Ctrl + Shift + Enter를 눌러야 합니다(중괄호를 수동으로 입력하지 마십시오. 작동하지 않습니다!):
{=SUM(--ISERROR(C2:C10))}
또는 SUMPRODUCT를 사용할 수 있습니다. 기본적으로 배열을 처리하는 함수이므로 모든 버전에서 일반적인 Enter 키로 수식을 완료할 수 있습니다.
=SUMPRODUCT(--ISERROR(C2:C10))
Excel에서 ISERROR와 IFERROR의 차이점
ISERROR 및 IFERROR 함수는 모두 Excel에서 오류를 포착하고 처리하는 데 사용됩니다. 차이점은 다음과 같습니다.
- 순수한 형식에서 ISERROR는 값이 오류인지 여부만 테스트합니다. 모든 Excel 버전에서 사용할 수 있습니다.
- IFERROR 함수는 오류를 억제하거나 위장하도록 설계되었습니다. 오류가 발견되면 지정한 다른 값을 반환합니다. Excel 2007 이상에서 사용할 수 있습니다.
첫눈에 IFERROR는 IF ISERROR 수식의 속기 대안처럼 보입니다. 그러나 자세히 살펴보면 차이점을 알 수 있습니다.
- 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 공식의 더 긴 변형은 여전히 유용할 수 있습니다 :)
사용 가능한 다운로드
ISERROR 수식 예(.xlsx 파일)