마이크로소프트 엑셀(Microsoft Excel)에서 수식이 여러 개의 결과값을 반환하는데, 그 결과를 워크시트의 셀들에 정상적으로 출력할 수 없을 때 #SPILL! 오류가 발생합니다. 이 글에서는 엑셀에서 발생하는 SPILL 오류의 원인과 이를 해결하는 구체적인 방법을 단계별로 안내해 드립니다.
엑셀의 #SPILL! 오류란 무엇인가?
SPILL(분산) 오류는 동적 배열 수식이 여러 값을 반환하려고 할 때, 해당 값들이 인접한 셀들에 확장되어 배치되지 못하고 차단되는 상황에서 나타납니다. 즉, 수식의 결과가 '흘러넘쳐야 할' 범위에 무언가 방해 요소가 있다는 뜻입니다.
엑셀에서 SPILL 오류를 제거하는 7가지 방법
아래의 원인별 해결 방법을 순서대로 확인하며 문제를 해결해 보세요.
- 분산 범위(Spill Range)가 비어 있지 않은 경우
- 분산 범위가 너무 큰 경우
- 워크시트 가장자리를 벗어나는 경우
- 테이블 내 수식 사용 시
- 메모리 부족
- 병합된 셀로 분산되는 경우
- 원인을 인식할 수 없는 경우(대체 오류)
1] 분산 범위가 비어 있지 않은 경우

배열 수식의 결과가 출력될 범위에 이미 다른 데이터가 들어 있으면 이 오류가 발생합니다.
오류가 있는 셀을 선택하면 점선 테두리로 예상되는 분산 범위가 표시됩니다. 이때 오류 아이콘을 클릭하고 '방해 셀 선택(Select Obstructing Cells)' 옵션을 선택하면 문제가 되는 셀로 바로 이동할 수 있습니다. 해당 셀의 내용을 삭제하면 장애물이 제거되고, 배열 수식이 정상적으로 실행됩니다.
2] 분산 범위가 너무 큰 경우

반환되는 배열의 크기를 엑셀이 예측할 수 없거나, 계산 과정 사이에 배열 크기가 계속 변동하는 경우에도 이 오류가 발생할 수 있습니다. 동적 배열은 스프레드시트 전체가 완전히 계산되도록 추가 계산 패스를 거치는데, 이 과정에서 배열이 계속 변하고 안정화되지 않으면 엑셀은 이를 SPILL 오류로 처리합니다.
3] 워크시트 가장자리를 벗어나는 경우

예를 들어 VLOOKUP 같은 함수로 열 전체를 참조하면 1,048,576개의 결과를 반환하게 되는데, 이 결과가 엑셀 그리드의 끝에 도달하면 SPILL 오류가 발생합니다.
이 문제는 다음 세 가지 방법으로 해결할 수 있습니다.
방법 1:

필요한 조회 값만 직접 참조하도록 수식을 수정합니다. 이 방식은 동적 배열을 반환하지만, 엑셀 테이블에서는 작동하지 않습니다.
방법 2:

같은 행의 값만 참조한 후 수식을 아래로 복사합니다. 기존의 전통적인 수식 방식으로, 테이블에서는 작동하지만 동적 배열은 반환하지 않습니다.
방법 3:

@ 연산자(암시적 교차 연산자)를 사용한 후 수식을 아래로 복사합니다. 역시 전통적인 수식 방식으로 테이블에서 작동하지만 동적 배열은 반환하지 않습니다.
4] 테이블 내 수식 사용 시

엑셀 테이블에서는 분산 배열 수식을 지원하지 않습니다. 수식을 테이블 밖으로 이동하거나, 테이블을 일반 범위로 변환하세요. 변환 방법은 테이블 디자인(Table Design) > 도구(Tools) > 범위로 변환(Convert to Range)을 클릭하면 됩니다.
5] 메모리 부족
입력하려는 분산 배열 수식이 너무 커서 엑셀의 메모리가 부족해진 경우입니다. 이때는 더 작은 범위의 배열을 참조하도록 수식을 수정해 보세요.
6] 병합된 셀로 분산되는 경우

엑셀에서 분산 배열 수식은 병합된 셀에는 출력될 수 없습니다. 셀 병합을 해제하거나, 병합된 셀과 겹치지 않는 다른 범위로 수식을 옮기세요.
오류 아이콘을 클릭하고 '방해 셀 선택' 옵션을 선택하면 문제가 되는 셀로 바로 이동할 수 있습니다. 해당 셀의 병합을 해제하면 장애물이 사라지고 배열 수식이 정상적으로 실행됩니다.
7] 원인을 인식할 수 없는 경우(대체 오류)
엑셀이 오류의 원인을 인식하지 못하거나 특정할 수 없는 경우입니다. 이럴 때는 수식에 필요한 모든 인수가 올바르게 포함되어 있는지 꼼꼼히 확인해 보세요.
함께 읽으면 좋은 글: 마이크로소프트 엑셀 수식이 자동으로 갱신되지 않을 때 해결 방법
이 가이드가 엑셀에서 SPILL 오류를 해결하는 데 도움이 되었기를 바랍니다. 궁금한 점이 있다면 댓글로 알려주세요.