엑셀 수식 오류 해결법: #N/A, #VALUE!, #REF!, #DIV/0!, #NAME?, #SPILL!, ####, 순환 참조
TUREFF• •0
엑셀 수식을 쓰다 보면 셀에 #으로 시작하는 낯선 표시가 뜹니다. 오류 이름마다 원인이 정해져 있어서 이름만 읽을 줄 알아도 절반은 해결됩니다. 자주 만나는 오류를 원인과 해결법 순서로 정리했습니다.
먼저 알아 두면 좋은 도구
- 오류 셀을 선택하면 옆에 느낌표 아이콘이 나타납니다. 누르면 원인 설명과 계산 단계 표시 메뉴가 나옵니다.
- 수식 탭의 수식 계산을 쓰면 수식이 어느 부분에서 오류가 나는지 한 단계씩 보여 줍니다.
- 참조되는 셀 추적과 참조하는 셀 추적은 화살표로 연결 관계를 보여 줘서 오류가 어디서 흘러왔는지 찾기 쉽습니다.
1. #N/A: 찾는 값이 없다
VLOOKUP, XLOOKUP, MATCH 같은 찾기 함수에서 가장 많이 납니다.
- 실제로 값이 없는 경우: 정상입니다. IFNA로 "없음"처럼 보기 좋게 처리합니다.
- 값이 있는데도 나는 경우: 공백, 숫자와 텍스트 형식 불일치, 근삿값 찾기 설정을 의심합니다. TRIM으로 공백을 지우고, 텍스트로 저장된 숫자는 숫자로 변환하며, 찾기 함수의 일치 옵션을 정확히 일치로 바꿉니다.
- 찾는 범위가 아래로 밀려 실제 데이터를 다 포함하지 못하는 경우도 많습니다. 범위를 절대참조로 고정했는지 확인하세요.
2. #VALUE!: 값의 종류가 맞지 않는다
숫자가 와야 할 곳에 텍스트가 들어갔을 때 납니다.
- 겉보기엔 숫자인데 실제로는 텍스트인 셀이 섞인 경우가 가장 흔합니다. 셀 왼쪽 위에 녹색 삼각형이 보이면 텍스트로 저장된 숫자입니다.
- 눈에 보이지 않는 공백이나 줄바꿈 문자가 들어간 경우도 있습니다. 웹이나 다른 프로그램에서 복사한 데이터에 많습니다.
- 셀끼리 +로 더하면 텍스트 하나에도 #VALUE!가 나지만, SUM 함수는 텍스트를 건너뜁니다. 합계라면 SUM을 쓰는 편이 안전합니다.
- 날짜 계산에서 날짜가 텍스트로 들어가 있어도 같은 오류가 납니다.
3. #REF!: 참조하던 셀이 사라졌다
수식이 가리키던 셀, 행, 열, 시트를 삭제했을 때 납니다.
- 삭제 직후라면 Ctrl+Z로 되돌리는 것이 가장 빠릅니다.
- 이미 저장했다면 수식 안의 #REF! 부분을 올바른 셀 주소로 다시 고쳐야 합니다.
- VLOOKUP에서 열 번호가 범위보다 큰 경우에도 #REF!가 납니다. 범위가 3열인데 열 번호를 4로 적으면 생깁니다.
- 다른 파일을 참조하던 수식은 원본 파일을 옮기거나 이름을 바꾸면 연결이 끊어집니다. 데이터 탭의 링크 편집 메뉴에서 경로를 다시 지정할 수 있습니다.
4. #DIV/0!: 0으로 나눴다
나누는 값이 0이거나 빈 셀일 때 납니다. 아직 데이터가 입력되지 않은 칸에서 자주 보입니다.
=IF(B2=0, "", A2/B2)
이렇게 나누는 값이 0이면 빈칸을 보여 주도록 처리합니다. IFERROR로 감싸도 되지만, 다른 원인의 오류까지 숨겨지니 원인이 명확할 때는 IF로 처리하는 편이 좋습니다.
5. #NAME?: 엑셀이 이름을 못 알아본다
- 함수 이름 오타: VLOKUP, SUMIFS를 SUMIF로 잘못 쓰는 식의 실수입니다. 함수 이름을 입력할 때 뜨는 자동 완성 목록에서 골라 쓰면 예방됩니다.
- 텍스트에 큰따옴표를 빠뜨림: =IF(A2=완료, 1, 0)처럼 텍스트를 따옴표 없이 쓰면 엑셀이 이름으로 착각합니다. "완료"로 고쳐야 합니다.
- 내 버전에 없는 함수: XLOOKUP, FILTER, UNIQUE 같은 새 함수는 이전 버전에서 열면 #NAME?으로 보입니다. 파일을 주고받는 상대의 버전도 확인하세요.
- 정의되지 않은 이름 범위를 썼을 때도 납니다.
6. #SPILL!: 결과를 펼칠 자리가 막혔다
Microsoft 365와 엑셀 2021 이상의 동적 배열 함수(FILTER, UNIQUE, SORT, SEQUENCE 등)는 결과를 여러 칸에 자동으로 펼칩니다. 그런데 펼쳐질 자리에 이미 다른 값이 있으면 #SPILL!이 납니다.
- 오류 셀을 선택하면 펼쳐질 범위가 점선으로 표시됩니다. 그 안에 있는 값이나 공백 문자를 지우면 해결됩니다.
- 표(Ctrl+T로 만든 표) 안에서는 결과를 펼칠 수 없어 같은 오류가 납니다. 표 밖에 수식을 두세요.
- 결과가 시트 끝을 넘어가거나 병합된 셀에 걸려도 생깁니다.
7. ####: 오류가 아니라 칸이 좁다
숫자나 날짜가 열 너비보다 길면 ####으로 보입니다. 열 경계를 더블클릭하면 너비가 자동으로 맞춰집니다. 다만 날짜 계산 결과가 음수일 때도 ####이 나오는데, 이때는 너비를 늘려도 그대로입니다. 시작일과 종료일이 뒤바뀌지 않았는지 확인하세요.
8. 순환 참조: 수식이 자기 자신을 가리킨다
A10에 =SUM(A1:A10)처럼 결과 셀이 계산 범위에 포함되면 순환 참조 경고가 뜨고 결과가 0으로 나오기도 합니다.
- 수식 탭의 오류 검사 → 순환 참조 메뉴에서 문제가 되는 셀 주소를 바로 확인할 수 있습니다.
- 대부분은 합계 범위를 한 칸 줄이면 해결됩니다.
- 여러 셀을 거쳐 돌아오는 간접 순환도 있으니, 참조 추적 화살표로 연결을 따라가 보세요.
오류를 줄이는 습관
- 원본 데이터는 붙여 넣을 때 값으로 붙이고, 공백과 형식부터 정리합니다.
- 범위를 직접 지정하기보다 표 기능을 쓰면 데이터가 늘어도 범위가 따라옵니다.
- IFERROR는 마지막 단계에서만 씁니다. 처음부터 감싸면 진짜 실수가 보이지 않습니다.
해결이 안 되는 오류나 이 글에 없는 사례를 만났다면 댓글로 공유해 주세요. 수식과 데이터 모양을 함께 적어 주시면 원인을 같이 찾아보겠습니다.