본문 바로가기
엑셀 기초 강좌

045. (엑셀 기초 함수) Iferror 함수 사용법 - 수식결과 오류가 예상되는 경우 다르게 처리해 보자

by Excel.Jump 청출어람 2022. 12. 29.
반응형

 

 

 

Iferror, iserror, iserr, isna 함수

 

 

■ 목차

 

1. 함수 설명
2. 엑셀 오류의 종류 - 수식, 함수사용에서
3. 수식결과 오류가 예상되는 경우의 다르게 처리하기
4. Iferrror 함수의 구문 및 사용방법
5. 엑셀의 오류 표시 기능
** 핵심 요약

 

 

 

 

1. 함수 설명

 

  - Iferror 함수는 만약(if)에 오류(error)인 경우에 이렇게 처리하라는 함수입니다. 

  - 엑셀에서 수식, 함수를 사용하는 경우 다양한 오류를 만나게 됩니다. 
  - 엑셀 입장에서는 친절(?)하게 알려주는데도 불구하고 우리는 별로 그렇게 기분이 좋을 것은 아닙니다. ^^

  - 하지만 어떻게든  그러한 오류를 처리하고 원하는 결과를 얻기 위해서는 1) 오류가 어떤 종류가 있는지? 
  - 그리고 그러한 2)오류를 만드는 원인이 무엇인지? 3)어떻게 해야 오류를 쉽게 수정을 할 수 있는지 알 수 있으면 좋을 것 같습니다.. 

  - 이러한 과정 속에서 오류여부를 확인하고 오류인 경우에 다르게 처리하거나 표시를 할 수 있는 함수가 바로 "Iferror 함수"입니다.

 

 

 

 

2. 엑셀 오류의 종류 - 수식, 함수사용에서

 

  - 수식이나 함수를 사용하다 보면 많이 볼 수 있는 오류의 종류는 다음과 같습니다. 
  - 오류의 종류 :  #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME!, #NULL!
  - 간단하게 쭉 한 번 읽어 보시면 됩니다. 우리가 수식, 함수를 사용하면서 실수하는 부분들입니다.


  - ① #N/A : not applicable, not available의 "약자로 해당사항 없음"이란 의미입니다.
  - 주로 Vlookup 함수 등으로 뭔가를 찾기를 했는데 해당되는 값이 없는 경우입니다. 즉 "못 찾았다"입니다.
  - 이 경우는 실제로 데이터가 없어서 못 찾은 경우도 있지만 공백 등 눈에 보이지 않는 문자 등으로 엄격한 컴퓨터의 눈으로는 다르다고 판단하기 때문에 못 찾을 수도 있습니다.
  - 그리고 숫자랑 숫자형태의 문자( = 문자)는 서로 다르기 때문에 안 찾아(?) 주는 경우도 꽤 많이 있습니다.
  - Trim 함수 등으로 공백을 미리 제거하거나 숫자형태의 문자는 숫자로 미리 변환을 해주셔야 합니다. 

 

#N/A 오류
* #N/A 오류

 

  - ② #NAME! : 이름(Name)이 잘 못 되었다는 오류입니다.  즉 "오타"라는 의미입니다. 
  - 가장 대표적인 사례가 함수 이름을 잘 못 사용하는 경우랑 셀 수식을 직접 입력하다가 오타를 내는 경우입니다.
  - 그리고 함수사용에서 텍스트에 큰따옴표를 사용하지 않는 경우가 있습니다. 

 

#NAME! 오류 (som으로 오타)
* #NAME! 오류 (som으로 오타)

 

  - ③ #REF! : Referace (참조) - 셀 참조 오류입니다. 
  - 참조하는 셀이 삭제되거나 Vlookup 함수 같은 곳에서 참조하는 셀이 범위를 벗어나는 경우입니다. 

 

#Ref! 오류 (표의 일부만을 참조함)
* #Ref! 오류 (표의 일부만을 참조함)

 

  - ④ #DIV/0! : Divied by zero 오류 - 숫자 영(0)으로 나누어서 발생된 오류

 

#DIV/0! 오류 (총인원이 미입력됨)
* #DIV/0! 오류 (총인원이 미입력됨)

 

  - ⑤ #VALUE! : Value (값)이 잘 못된 경우입니다. 
  - 값이라고 하면 수식이나 함수에서 원하는 숫자 값, 문자 값, 날짜/시간 값이 잘 못 들어간 사례입니다.
  - 숫자 + 문자를 더하기를 하는 경우 "문자"는 잘 못된 값에 해당하게 됩니다. 
  - 일부는 엑셀이 자동으로 변환을 해주거나 (숫자형태의 문자) 무시를 해주기도 합니다. 
  - 사실 무시를 하는 경우는 형식상 정상적으로 결과값이 나오지만 틀린 결과값이 나오기 때문에 더욱 주의를 해주셔야 합니다.

 

#VALUE! 오류 (문자를 더하기함)
* #VALUE! 오류 (문자를 더하기함)

 

  - ⑥ #NUM! : Number, 숫자값을 잘 못 사용함
  - 여기서 숫자 값을 잘 못 사용한 가장 흔한 경우는 바로 함수에서 지원하지 않는 인수 숫자를 사용하는 경우입니다.
  - 그리고 간혹 숫자가 너무 커서 계산이 힘든 경우 엑셀은 #NUM! 오류를 뱉어내곤 합니다. ㅠㅠ
  - 아래는 Large 함수를 사용하면서 "-1"을 인수로 입력하여 "-1"번째로 큰 수를 찾는 식이 되어버린 예제입니다.

 

#NUM! 오류 (지원하지 않는 인수 사용)
* #NUM! 오류 (지원하지 않는 인수 사용)

 

  - ⑦ #NULL! :  Null (없음), 참조할 셀이 없다는 의미입니다.. 
  - 쉽게 만들기 힘든 오류입니다. 엑셀 셀 주소 참조 형식 중에서 2개의 셀주소로 교집합을 만들어 주는 방식이  있는데
  - 2개의 셀 주소의 교집합을 참조하기 위해서 2개의  셀 주소 사이에 공백(스페이스바 클릭)을 넣어주는 방식입니다.
  - 이렇게 교집합을 사용하려고 수식을 입력했는데 실제로는 교집합에 해당하는 셀 주소가 없다는 얘기입니다. 
  - 크게 신경을 쓰지 않으셔도 됩니다. 사실 혹시라도 이런 오류를 만들었다면 거의 대부분 그냥 셀 주소가 잘 못 입력되었다고 보시면 됩니다. 

 

 

 

 

3. 수식결과 오류가 예상되는 경우의 다르게 처리하기

 

  - 오류 처리내용에 들어가기 전에 오류는 잘 못된 부분이 있다고 엑셀이 알려주는 정보입니다.  
  - 정확하게 의도된 것이 아니면 가능하면 오류는 오류 그대로 표시가 되도록 하는 것이 가장 좋습니다. 
  - 분명하게 오류의 내용을 알고 의도된 내용으로만 오류를 확인 후 처리하시기 바랍니다. 

  - 먼저 오류 여부를 확인하는 엑셀의 함수입니다. 
  - Iserr 함수, Iserror 함수, Isna 함수가 있습니다. 
  - 여기서 보통 Iserror 함수를 가장 많이 사용을 하고 나머지는 잘 사용을 하지 않습니다. 

  - Iserror 함수 : 모든 오류 여부를 참(True), 거짓(False)으로 판정하며 오류인 경우 참(True) 값을 반환합니다.
  - 반면에 Iserr 함수는 #N/A! 를 제외한 모든 오류를 Isna 함수는 오직 #N/A! 오류만 확인을 해줍니다. 
  - 그래서 Iserror 함수만을 사용하는 이유입니다. 

  - 그리고 오류 여부를 확인해서 오류인 경우에 바로 처리를 할 수 있는 함수로 "Iferror 함수"가 있습니다.
  - Iserror 함수는 오류를 확인하고 If 함수를 사용해서 오류인 경우에는 이렇게 처리하라고 해주는 방식으로 사용을 합니다.

  - 어느 방식이던지 편하신 방식으로 사용을 하시면 됩니다. 크게 차이가 나거나 하지 않습니다. 

 

 

 

 

4. Iferrror 함수의 구문 및 사용방법

 

IFERROR(value, value_if_error)

  - value    필수 요소입니다. 오류를 검사할 인수입니다.
  - value_if_error    필수 요소입니다. 수식이 오류로 평가되는 경우 반환할 값입니다.

  - value는 값으로 오류를 판정할 값 즉 수식, 함수 계산 값 등입니다. 
  - value_if_error  만약(if) 오류(error)인 경우에 처리한 값(value)입니다. 텍스트로 "오류발생"이라고 표시를 해줄 수 도 있습니다.
  - 만약 오류가 아닌 경우에 그럼 수식에 표시되는 결괏값은 바로 "value"가 표시가 됩니다. 
  - 즉 오류가 아니면 표시를 하고 오류이면은 다르게 표시를 해주는 방식으로 사용을 하는 것입니다.

  - Iserror 함수를 사용하는 경우에는 아래와 같이 수식을 만들어서 사용하게 됩니다. 
  - = if (iserror(value), value_if_error, value) : Iferror 함수와 동일한 인수 이름을 사용해서 표현한 내용입니다. 

 

Iferror 함수로 오류 처리
* Iferror 함수로 오류 처리

 

 

Iserror 함수, If 함수로 오류 처리
* Iserror 함수, If 함수로 오류 처리

 

 

 

 

5. 엑셀의 오류 표시 기능

 

  - 엑셀은 수식 입력 등에서 오류가 발생이 되면 입력과 동시에 오류 여부를 표시해주는 기능이 있습니다.
  - 오류가 발생된 해당 셀을 선택하게 되면 아래와 같이 "오류 표시"를 해주게 됩니다. 
  - 여기에는 수식에서 발생되는 오류 외에 다양한 오류를 표시하며 간단한 숫자형태의 문자와 같은 오류는 바로 숫자 형식으로 수정이 가능합니다.
  - 다른 것은 솔직히 잘 모르겠는데 "숫자 형태의 문자를 숫자 형식으로 한 번에 모두 변경"은 여기서 하는 것이 가장 편하고 빠른 것 같습니다. 

 

엑셀 오류 표시
* 엑셀 오류 표시

 

  - 엑셀 옵션 메뉴에서 어떠한 것들이 오류로 여기에 표시되게 할 것인지 설정이 가능합니다. 

 - 메뉴 패스 : "파일" > "옵션" > "수식" > "오류 검사", "오류 검사 규칙"

  - "다른 작업을 수행하면서 오류 검사"를 체크하시면 "오류 표시" 기능을 사용할 수 있게 되고 체크 해제 하시면 오류 표시 기능을 없앨 수 있습니다.
  - "오류 검사 규칙"에서 표시하고자 하는 오류의 종류를 선택할 수 있습니다. 

 

엑셀 오류 표시 옵션
* 엑셀 오류 표시 옵션

 

 

 

 

** 핵심 요약 : Iferror 함수 사용법 - 수식결과 오류가 예상되는 경우 다르게 처리해 보자

 

1. 함수 설명

  - Iferror 함수는 만약(if)에 오류(error)인 경우에 이렇게 처리하라는 함수이다.
  - 오류 여부를 확인할 수 있는 함수 : Iserror, Iserr, Isna 함수
  - 모든 오류의 종류를 확인할 수 있는 Iserror 함수를 많이 사용한다. 


2. 엑셀 오류의 종류 - 수식, 함수사용에서

  - 오류의 종류
  - ① #N/A : not applicable, not available의 "약자로 해당사항 없음"이란 의미, Vlookup함수 등에서 값을 찾지 못하는 경우이다.
  - ② #NAME! : 이름(Name)이 잘 못 되었다는 오류이다.  함수이름, 텍스트의 큰따옴표 미사용 등 "오타"를 의미한다.
  - ③ #REF! : Referace (참조) - 셀 참조 오류이다. 참조 셀을 삭제하는 경우, 범위를 벗어나는 경우이다.
  - ④ #DIV/0! : Divied by zero 오류 - 숫자 영(0)으로 나누어서 발생된 오류이다.
  - ⑤ #VALUE! : Value (값)이 잘 못된 경우이다. 더하기에 문자를 사용한 경우처럼 잘 못된 값이 들어간 경우이다.
  - ⑥ #NUM! : Number, 숫자값을 잘 못 사용한 경우로 함수에서 지원하지 않는 인수 숫자를 사용한 경우 발생된다.
  - ⑦ #NULL! :  Null (없음), 참조할 셀이 없다는 의미이다. 셀 주소를 잘 못 적은 경우가 대부분이다.





3. 수식결과 오류가 예상되는 경우의 다르게 처리하기

  - 오류는 잘 못된 부분이 있다고 하는 엑셀의 정보이다. 의도된 것이 아니면 가능한 그대로 표시가 되도록 하자.
  - Iferror 함수는 오류 여부를 확인하고 오류인 경우 다르게 처리하는 것이 가능하다.
  - Iserror 함수는 오류 여부를 확인이 가능하고 If함수로 오류인 경우에 다르게 처리하는 방식으로 사용을 한다.


4. Iferrror 함수의 구문 및 사용방법

IFERROR(value, value_if_error)  → If (iserror(value), value_if_error, value) 
  - value    필수 요소입니다. 오류를 검사할 인수입니다.
  - value_if_error    필수 요소입니다. 수식이 오류로 평가되는 경우 반환할 값입니다.


5. 엑셀의 오류 표시 기능

  - 엑셀은 수식 입력 등에서 오류가 발생이 되면 입력과 동시에 오류 여부를 표시해주는 기능이 있다.
  - 간단한 숫자형태의 문자 같은 경우는 바로 숫자 형태로 간편하게 수정하는 것이 가능하다.
  - 엑셀 옵션에서 다양한 오류에 대해서 검사를 하고 표시되도록 설정하는 것이 가능하다.

 

045. (엑셀 기초 함수) Iferror 함수-연습문제.xlsx
0.01MB

 

 

[엑셀 기초 강좌] - 999. 엑셀 기초 함수 목차 (완료)

 

999. 엑셀 기초 함수 목차 (완료)

[엑셀 기초 강좌] - 029. (엑셀 기초 함수) Sum함수 : 숫자의 합계를 구해보자 [엑셀 기초 강좌] - 030. (엑셀 기초 함수) Max, Min 함수 - 최대값, 최소값을 구해보자 [엑셀 기초 강좌] - 031. (엑셀 기초 함

nextmeok.tistory.com

 

 

 

* 엑셀 관련 궁금하신 거나 어려운 점이 있으시면 자유롭게 질문을 해주세요.
* 가능한 도움을 드릴 수 있도록 하겠습니다.
* 저도 많이 알지는 못하지만 누구나 그렇듯 시작이란 게 있고 경험이란 게 다를 것 같습니다.
* 편하게 문의하시면 됩니다. 저도 모를 수 있다. 감안해 주시고.

  - ILU, SH -

반응형

댓글