반응형

안녕하세요.

IF함수 심화과정으로 IFERROR를 사용해보는 시간을 갖도록 합시다.

 

먼저 IFERROR은

수식에서 오류가 발생할 경우 사용자가 지정한 값을 반환하고, 그렇지 않으면 수식 결과를 반환합니다. IFERROR 함수를 사용하면 수식의 오류를 트래핑하여 처리할 수 있습니다.

 

무슨말인지 잘 모르시겠죠? ㅎㅎㅎ

예제를 바로 보도록 합시다.

1. 1/0

1/0의 답은 무엇일까요?

그렇죠 말이 안되는 수식입니다.

그럼 결과는 어떻게 나올까요?

 

2. 에러

당연히 에러로 표시됩니다.

#DIV/0! 의 원인으로는 

 

  • 0으로 나누는 명시적 나눗셈(예: =5/0)을 수행하는 수식이 입력되어 있습니다. 
  • 수식 또는 나눗셈을 수행하는 함수에서 0이 포함된 셀이나 빈 셀에 대한 참조를 나누는 수로 사용합니다.
  • #DIV/0! 오류를 반환하는 수식이나 함수를 사용하는 매크로를 실행합니다.

 

가 있습니다.

첫번째 원인으로 오류를 만들어냈습니다.

솔직히 그냥 냅둬도 상관은 없지만 이상하잖아요?

이럴때 IFERROR을 사용하면 됩니다.

 

IFERROR사용법은

IFERROR(value, value_if_error)

입니다.

 

인수를 각각설명드리면

IFERROR( 값, 오류발생시 출력값 )

입니다.

 

글로만 쓰면 이해하기 어려우니까 위의 예제에서 IFERROR를 적용시켜봅시다.

3. IFERROR 적용

IFERROR을 적용시켜봤는데요.

#DIV/0! 에러가 발생하면 "0으로 숫자를 나눌수 없습니다." 라는 문구가 출력됩니다.

간단하죠?

 

하지만 주의해야할 사항이 한가지 있는데요

IFERROR함수는 #DIV/0! 에러 뿐만 아니라 다른 에러들도 포함됩니다.

 

기초(7)의 예제파일로 오류를 만들어보겠습니다.

링크 :  엑셀 사용법 : 기초 (7) - VLOOKUP과 HLOOKUP을 사용하여 표 검색하기

4. 기초(7) 예제

위의 예제에서 VLOOKUP이 포함된 행을 밑으로 복사하게 되면 에러가 발생합니다.

5.에러 발생

이렇게 되면 큰일난것 같고 모양도 이상하고 그렇잖아요?

나는 그냥 함수들을 미리 복사해서 사원번호, 일렬번호, 수량만 입력하면 자동으로 계산되게 만들고싶은데 함수를 복사하니 오류가 납니다.

 

 

 

이럴때 IFERROR함수의 오류발생시 출력값에 공백을 넣어줍니다.

6. IFERROR 적용

=IFERROR(VLOOKUP(D19,$C$3:$E$10,2,FALSE), "")

공백을 넣어주면 에러발생시 공백으로 출력됩니다.

 

확실히 IFERROR함수를 적용한 셀이 더 깔끔하지 않은가요?

이런식으로 상황에 맞게 사용하시면 됩니다. :Db

반응형

+ Recent posts