본문 바로가기
오늘하루생활

엑셀·구글시트 오류 해결: #N/A, #VALUE! 원인 분석(실무 체크리스트)

by samipea 2025. 12. 26.

엑셀·구글시트를 실무에서 쓰다 보면 언젠가 반드시 마주치는 순간이 있습니다. “어제까지 잘 되던 수식이 갑자기 #N/A가 뜬다”, “합계가 갑자기 이상하다” 같은 상황이죠. 수식이 길어질수록 오류는 피할 수 없습니다. 중요한 건 “오류를 없애는 것”이 아니라, 오류를 보고 원인을 30초 안에 추정하는 습관입니다. 이번 글은 가장 자주 나오는 오류들을 원인별로 분석해 실무에서 바로 적용할 수 있는 노하우에 대해 작성해 보았습니다.

다루는 오류: #N/A, #VALUE!, #REF!, #DIV/0!, #NAME?

1. 오류 대응의 기본 원칙 3가지

  1. 오류는 증상이다: 수식보다 데이터(공백/형식/범위)가 원인인 경우가 훨씬 많습니다.
  2. 먼저 “어떤 함수”에서 터졌는지 찾기: 조회(XLOOKUP/VLOOKUP/INDEX+MATCH), 집계(SUMIFS), 산술(나눗셈), 참조(범위) 중 어디인지 분류합니다.
  3. 가리기(IFERROR)보다 해결을 우선: 오류를 빈칸으로 숨기면 보고서가 조용히 틀어질 수 있습니다. 숨겨야 한다면 “확인 필요”처럼 의미 있는 문구로 대체하는 게 안전합니다.

2. #N/A: “찾을 수 없음” (조회에서 가장 흔함)

#N/A는 대부분 조회 함수에서 나옵니다. 즉, “찾는 값이 없다”는 뜻이지만, 실무에서는 ‘진짜로 없는 것’보다 ‘있는데도 못 찾는 것’이 더 흔합니다.

2-1) 원인 A: 앞뒤 공백/숨은 문자(가장 흔함)

“완료”“완료 ”(뒤 공백)는 사람 눈엔 같지만 다른 값입니다. 복붙 과정에서 줄바꿈/탭 문자가 섞여도 매칭이 실패합니다.

  • 처방: TRIM으로 공백 제거(필요 시 CLEAN까지)
  • 예시(XLOOKUP): =XLOOKUP(TRIM(A2),TRIM범위,반환범위,"없음")
  • 예시(정리 열 권장): 원본에 “정리된 코드” 열을 만들어 =TRIM(CLEAN(A2))로 표준화 후 조회

2-2) 원인 B: 텍스트 숫자 vs 숫자(형식 불일치)

코드가 00123처럼 앞자리가 중요하면 텍스트로 관리하는 것이 안전합니다. 한쪽은 텍스트, 한쪽은 숫자면 매칭이 실패할 수 있습니다.

  • 처방: 양쪽 타입 통일(텍스트로 고정하거나 숫자로 변환)
  • : 코드/ID는 텍스트, 금액/수량은 숫자라는 원칙을 세우면 사고가 줄어듭니다.

2-3) 원인 C: 조회 범위 누락(마스터 데이터가 늘었는데 범위가 고정)

  • 처방: 범위를 넉넉히 잡거나(2~5000) 엑셀은 표(Table)로 전환
  • 증상: 초반 데이터는 되는데 최근 추가된 코드만 #N/A

2-4) 원인 D: VLOOKUP 근사치(TRUE)로 잘못 조회

코드 조회는 거의 항상 FALSE(정확 일치)가 정답입니다.

  • 처방: ... , FALSE로 고정

2-5) 임시 해결(표시용)

  • 엑셀/구글시트: =IFERROR(조회수식,"확인 필요")

단, “확인 필요”가 쌓이면 원본 데이터 정리가 필요하다는 신호입니다.

3. #VALUE!: “값의 타입이 맞지 않음” (텍스트/날짜/숫자 혼합)

#VALUE!는 “문자열을 숫자로 계산하려고 했다” 같은 타입 충돌에서 자주 발생합니다.

3-1) 원인 A: 숫자처럼 보이지만 텍스트인 값

예: “10,000원”, “ 10000” (앞 공백)

  • 처방: 통화기호/쉼표 제거 후 숫자로 변환, 또는 처음부터 숫자만 입력하고 서식으로 표시
  • 빠른 점검: 오른쪽 정렬인지(대체로 숫자), 왼쪽 정렬인지(대체로 텍스트) 확인

3-2) 원인 B: 날짜가 텍스트로 들어옴

날짜가 텍스트면 EDATE, NETWORKDAYS 같은 함수에서 #VALUE!가 날 수 있습니다.

  • 처방: 날짜 열을 통일(입력 규칙, 유효성 검사), 텍스트 정리 후 변환
  • 운영 팁: 날짜는 “YYYY-MM-DD”처럼 형식을 팀 규칙으로 고정하면 실수가 줄어듭니다.

3-3) 원인 C: CONCAT/TEXTJOIN 등에서 범위/인수 오류

  • 처방: 함수 인수가 비어있지 않은지, 범위가 올바른지 확인
  • 예시: TEXTJOIN의 두 번째 인수(TRUE/FALSE) 위치가 바뀌면 오류가 날 수 있음

4. #REF!: “참조가 깨졌다” (삭제/이동/복사에서 발생)

#REF!는 수식이 바라보는 셀/범위가 사라졌을 때 발생합니다. 보통 열/행 삭제, 시트 삭제, 복사/붙여넣기 과정에서 발생합니다.

4-1) 원인 A: 열/행 삭제로 참조 대상이 사라짐

  • 처방: 삭제를 되돌리기(Ctrl+Z) 또는 수식의 참조 범위를 새로 지정

4-2) 원인 B: VLOOKUP 열번호 기반 수식이 열 삽입/삭제에 취약

  • 처방: 가능하면 XLOOKUP 또는 INDEX+MATCH로 전환(반환 범위 직접 지정)

4-3) 예방 팁

  • 마스터 표(기준표)는 “구조 변경(열 삽입/삭제)”을 최소화
  • 참조가 많은 시트는 “표(Table)”와 “이름 정의(네임드 범위)”를 활용

5. #DIV/0!: “0으로 나눔” (비율/평균 계산에서 흔함)

분모가 0이거나 빈칸일 때 나눗셈을 하면 #DIV/0!가 발생합니다. 실무에서는 “건수가 0일 때 전환율 계산” 같은 상황이 대표적입니다.

5-1) 처방: 분모가 0이면 빈칸/0/대시(-) 처리

  • 빈칸 처리: =IF(B2=0,"",A2/B2)
  • 0 처리: =IF(B2=0,0,A2/B2)
  • 대시 처리: =IF(B2=0,"-",A2/B2)

어떤 표시를 쓸지는 보고서 목적에 따라 다릅니다. 운영용이면 “-”가 직관적이고, 계산 연쇄가 필요하면 0이 편합니다.

6. #NAME?: “함수/이름을 모른다” (오타/지역 설정)

#NAME?은 보통 아래 이유로 발생합니다.

  • 함수 이름 오타(예: =SUMIF=SUMFI로 입력)
  • 따옴표/괄호 누락
  • 이름 정의한 범위(네임)가 삭제됨
  • 엑셀 버전에 없는 함수(TEXTSPLIT 등)를 사용

6-1) 처방 체크리스트

  1. 함수 철자, 괄호, 쉼표 위치 확인
  2. 사용 중인 엑셀 버전에서 지원하는 함수인지 확인
  3. 이름 정의(네임드 범위) 사용 시, 이름이 존재하는지 확인

7. 실무 “30초 진단” 체크리스트

오류가 떴을 때 아래 순서로 보면 빠릅니다.

  1. 오류 종류가 뭔가? (#N/A vs #VALUE! vs #REF!)
  2. 수식의 핵심 함수가 뭔가? (조회/집계/날짜/나눗셈)
  3. 데이터 타입이 맞나? (날짜=날짜, 금액=숫자, 코드=텍스트)
  4. 공백/오타가 섞였나? (TRIM으로 점검)
  5. 범위가 누락/깨졌나? (행/열 삭제, 범위 고정, 표 전환)

8. 오류를 ‘숨길’ 때의 안전한 방식

보고서 제출용이라 오류 표시를 줄여야 한다면, 무작정 빈칸으로 숨기기보다 의미 있는 대체값을 추천합니다.

  • 조회값이 없을 때: “없음” 또는 “확인 필요”
  • 분모가 0일 때: “-” (계산 연쇄가 없을 때)
  • 운영 시트: 오류를 숨기지 말고 조건부 서식으로 빨간색 강조

즉, “보이게 하되 보기 좋게”가 실무에서 가장 안전합니다.

총정리

오류는 귀찮지만, 사실은 좋은 신호입니다. 데이터가 어디서 오염되는지, 수식이 어디서 취약한지 알려주는 “알람”이거든요. 오늘 정리한 원인별 처방대로 접근하면, #N/A와 #VALUE! 같은 오류는 더 이상 공포가 아니라 패턴 문제로 빠르게 해결할 수 있습니다.