본문 바로가기
구글 스프레드시트

구글 스프레드시트 - 중급편 (3) (구글 스프레드시트의 오류 이해하기)

by David Kim 2023. 1. 4.
반응형

구글 스프레드시트의 오류 이해하기

- #NULL!

- #DIV/0!

- #VALUE!

- #REF!

- #NAME?

- #NUM!

- #N/A

- #ERROR!

구글 스프레드시트의 오류 다루기

- IFERROR

- IFNA

 

아무도 알려주지 않아서 실무에서 혼자 맨땅에 헤딩하면서 습득한 내용을 다룹니다.
(최적화된 방법보다는 그냥 제가 할 줄 아는 방법을 다룬 것이라 이 블로그에 있는 방법이 가장 효율적인 방법은 아닐 수 있습니다!)

Image from Pixabay


안녕하세요 데이빗입니다.

오늘은 추가 함수들을 알아보기 전에 구글 스프레드시트를 이용하다 만날 수 있는 다양한 오류들에 대해 알아보도록 하겠습니다. 

이전 포스팅에서 VLOOKUP 함수에 대해 알아볼 때 #N/A라는 오류메시지가 발생한 것을 보셨을 것 입니다. 

* VLOOKUP 함수 포스팅에서 어떤 오류가 나왔었는지 궁금하다면?! >> 구글 스프레드시트 - 중급편 (1)

이러한 오류메시지들은 다양한 원인에 의해서 나타날 수 있으며, 명령어를 잘못 쓰거나 잘못 계산하여 발생하는 오류와 계산식에서의 오류는 없으나 범위나 값을 참조하는 과정에서 발생하는 일종의 경고 메시지도 있습니다.

대표적으로 #N/A (Not Applicable : 해당되지 않음), 즉 식을 정확하게 입력했지만 해당되는 값이 없는 경우 발생할 수 있습니다.

구글 스프레드시트에서 발생하는 오류들은 아래와 같이 정리할 수 있습니다. 오류의 발생 원인을 알면 오류를 수정하는데 도움이 될 수 있기 때문에 알아두면 도움이 될 것입니다.

오류메시지 정의 발생하는 경우
#NULL! 값이 존재하지 않음 이용하고자 하는 값이 존재하지 않을 경우 발생
#DIV/0! 나눗셈 오류 숫자를 0으로 나누고자 할 경우 발생 (e.g., 999/0 등)
#VALUE! 값 입력 오류 연산 과정에서 값이 잘못 입력될 경우 발생
- 대표적으로 사칙연산 등을 할 때 문자열을 포함시킬 경우 발생한다. (e.g., =1+"사과" 등)
#REF! 참조 오류 참조를 할 때 아래와 같은 경우 발생
- 순환 참조가 발생할 경우 (e.g., A1 셀에서 SUM 함수를 사용하는데 '=SUM(A1:A3)' 등)
- 참조한 셀이 사라졌을 경우 (e.g., A1 셀을 참조 후 열 삭제로 A열을 삭제 등)
#NAME? 함수 이름 오류 함수 이름을 오기입 한 경우 (e.g., COUNTIF 대신 CONTIF를 입력 등)
#NUM! 인수 오류 인수를 입력할 때 아래와 같은 경우 발생
- 스프레드시트에서 수용할 수 있는 값보다 큰 값을 입력할 경우 (e.g., 999^999 등)
- 인수 혹은 매개변수 입력 시 허용 범위 밖의 값을 입력한 경우 (e.g., WEEKNUM함수에서의 매개변수를 99로 입력 등)
#N/A 해당 없음 입력 된 수식으로 해당 되는 결과 값을 얻어내지 못할 경우 (e.g., VLOOKUP 함수에서 찾으려는 키 값이 범위에 존재하지 않음 등)
#ERROR! 기타 오류 위 분류 된 경우 외 기타 오류가 발생할 경우

지금 위 표만 봐서는 정확하게 이해가 어려우실텐데요, 실제로 구글 스프레드시트를 이용하시다보면 숱하게 만나게 되실 오류메시지들이고, 하나 하나 해결해 나가시면서 또한 익숙해질 오류 메시지들입니다.

중요한 것은 오류 메시지를 봤다고 스트레스 받거나 당황하지 않는 것 입니다.

 

오류들 중에서는 실수로 인한 것도 있지만, 이용 과정에서 어쩔 수 없이 발생하는 것들도 있습니다.

제가 스프레스시트를 이용하면서 대표적으로 보는 두가지 오류 메시지는 #DIV/0! 과 #N/A인데요, 보통 아래와 같은 과정에서 발생합니다.

- #DIV/0! : 어떠한 수치의 증감율을 보고자 하는데, 이전 수치가 0인 경우 (저는 증감율을 볼 때 =현재수치/이전수치-1 을 백분율로 봅니다.) 

- #N/A : VLOOKUP 혹은 INDEX-MATCH를 이용하는데 키 값이 범위에 포함되지 않을 경우 (보통 키 값에 오탈자가 발생하거나 새로운 키 값이 추가되어 범위를 업데이트 해야하는 경우입니다.)

그렇다고 하더라도 아래와 같이 오류 메시지가 덕지덕지 붙어 있는 것은 보기 좋지 않습니다.

Image Captured by David Kim

그래서 이런 상황을 해결할 수 있는 함수 2개를 알아보고자 합니다.

바로 IFERROR 함수와 IFNA 함수입니다.

이 두 함수의 작동 방식은 기본적으로 동일하니 IFERROR 함수만 자세히 알아보도록 하겠습니다. IFNA 함수는 IFERROR 함수의 축소판이고 이해하시면 됩니다.

IFERROR 함수는 셀에 오류가 있는지(IFNA의 경우 셀이 #N/A인지)를 판단하여 오류가 있을 경우 지정한 값을 출력해주는 함수입니다.

셀(Cell)에 '=IFERROR('을 입력하면 아래와 같이 나옵니다.

Image Captured by David Kim

이용 방법은 매우 단순해서 '값' 부분에 실제 값 또는 함수를 입력하거나, 셀(Cell)을 참조할 수 있습니다.

'[오류인_경우_값]'에는 만약 '값'이 위 표에 정리 된 오류일 경우 반환해 줄 값을 입력하는 곳 입니다. 숫자를 반환할 수도 있고 문자열을 반환할 수도 있습니다. '[오류인_경우_값]'은 선택 사항인데, 입력하지 않을 경우 빈 값(NULL)을 반환합니다.

만약 '값'이 오류가 아닐 경우 '값'을 그대로 반환합니다.

다시 예제로 돌아가 IFERROR 함수를 이용해 보도록 하겠습니다.

구글 스프레드시트 예제 >> 링크 

아래 이미지와 같이 IFERROR 함수를 이용하는데, R열(Column)의 값을 참조하여 오류가 있을 경우 "해당 없음" 이라는 문구를 반환하도록 했습니다.

Image Captured by David Kim

모든 셀(Cell)들에 적용했을 때 아래와 같이 오류일 경우 "해당 없음"을 반환하는 것을 확인할 수 있습니다.

Image Captured by David Kim

물론 아래와 같이 기존 함수와 병행하여 사용하는 것도 가능합니다.

Image Captured by David Kim

이번 포스팅에서는 구글 스프레드시트에서의 오류와 오류를 처리하는 방법에 대해 알아보았습니다. 

다음 포스팅에서는 VLOOKUP 함수와 INDEX-MATCH 함수를 활용하기 위해 필요한 '범위'를 정리하는데 도움이 되는 UNIQUE 함수에 대해 알아보도록 하겠습니다.

반응형

댓글