엑셀 #SPILL! 오류 해결 방법
#SPILL! 셀을 클릭하고 경고 아이콘 메뉴에서 가로막는 셀을 선택하는 항목을 누른 뒤, 그 셀의 내용을 지우거나 옮기세요.UNIQUE, FILTER, SORT, SEQUENCE 같은 함수는 결과를 여러 개 돌려줘요. 엑셀은 첫 결과를 수식이 있는 셀에 넣고 나머지를 아래나 오른쪽 셀로 "흘려 보내요(분산)". 그럴 수 없으면 대신 #SPILL!을 표시해요. 오류 셀을 선택하면 엑셀이 쓰려던 범위가 점선 테두리로 보여요.
셀 옆의 경고 아이콘을 누르면 메뉴 첫 줄에 원인이 나와요. 아래에서 자주 생기는 순서대로 원인별 해결법을 정리했어요.
결과 분산과 #SPILL! 오류는 Microsoft 365용 Excel, Excel 2021 이상, 웹용 Excel에만 있어요. 이전 버전은 결과를 분산하지 않아요.
원인별 해결 방법
- 결과가 들어갈 자리에 이미 무언가 있어요
- 수식이 엑셀 표 안에 있어요
- 결과 범위에 병합된 셀이 있어요
- 열 전체 참조 때문에 결과가 너무 커요
- 결과 크기가 계속 바뀌어요
- 결과가 시트 끝을 넘어가요
1결과가 들어갈 자리에 이미 무언가 있어요
이렇게 확인해요
경고 아이콘 메뉴에 분산 범위가 비어 있지 않다고 나와요. 가로막는 셀이 비어 보일 수도 있어요. 공백 한 칸, 다른 수식이 돌려준 빈 문자열 ="", 흰색 글자도 모두 내용으로 쳐요.
해결 방법
경고 아이콘 메뉴에서 가로막는 셀을 선택하는 항목을 누르세요. Delete 키로 지우거나 다른 곳으로 옮기면 바로 결과가 채워져요.
그 내용을 지울 수 없다면, 아래와 오른쪽이 충분히 비어 있는 곳으로 수식을 옮기세요.
예방 팁. 분산되는 수식은 아래에 아무것도 입력하지 않는 전용 영역에 두세요. 데이터가 바뀌면 결과 목록도 늘었다 줄었다 해요.
직접 해 보기: 메모 한 칸이 UNIQUE를 막을 때
C2의 =UNIQUE(A2:A9)는 C2:C5가 필요한데 C4의 메모가 가로막아서 #SPILL!이 나와요. C4를 선택하고 Delete를 눌러 결과가 채워지는 걸 보거나, 예제를 눌러 수식을 옮기거나 한 칸짜리 결과로 바꿔 보세요.
2수식이 엑셀 표 안에 있어요
이렇게 확인해요
수식이 엑셀 표(삽입 > 표로 만든 표)의 열 안에 있고, 경고 아이콘 메뉴에 표가 언급돼요. 엑셀 표에서는 결과를 분산할 수 없어요.
해결 방법
수식을 표 바깥 셀로 옮기세요. 표 기능이 필요 없다면 표 안에서 마우스 오른쪽 단추를 누르고 표 > 범위로 변환을 고르세요.
표의 행마다 결과가 하나씩 필요하다면 값 하나를 돌려주는 수식을 쓰세요. 예를 들어 분산 수식 대신 =COUNTIF([지역],[@지역])처럼요.
3결과 범위에 병합된 셀이 있어요
이렇게 확인해요
점선 분산 테두리 안에 병합된 셀이 있고, 경고 아이콘 메뉴에 병합된 셀이 언급돼요.
해결 방법
병합된 셀을 선택하고 홈 > 병합하고 가운데 맞춤을 눌러 병합을 해제하세요. 병합하지 않고 제목을 여러 열 가운데에 두고 싶다면 셀 서식 > 맞춤 > 가로: 선택 영역의 가운데로를 쓰세요.
4열 전체 참조 때문에 결과가 너무 커요
한 행씩 계산하던 예전 방식의 수식에서 자주 생겨요.
=VLOOKUP(A:A,가격!A:B,2,FALSE)최신 엑셀에서는 찾을 값에 A:A를 넣으면 행마다 하나씩, 백만 개가 넘는 결과를 돌려주려고 해요. 1행보다 아래에 있는 수식이라면 시트에 다 들어갈 수 없어요.
이렇게 확인해요
경고 아이콘 메뉴에 분산 범위가 너무 크다고 나오거나, 값 하나가 들어가야 할 자리에 A:A나 1:1을 쓰자마자 오류가 나요.
해결 방법
필요한 행만 참조하면 그만큼만 분산돼요.
=VLOOKUP(A2:A100,가격!A:B,2,FALSE)또는 예전처럼 셀 하나를 참조하고 수식을 아래로 채우세요.
=VLOOKUP(A2,가격!A:B,2,FALSE)@를 붙여도 돼요. =VLOOKUP(@A:A,가격!A:B,2,FALSE)는 이전 버전 엑셀처럼 수식이 있는 행의 값만 써요.
5결과 크기가 계속 바뀌어요
이렇게 확인해요
경고 아이콘 메뉴에 분산 범위를 알 수 없다고 나와요. =SEQUENCE(RANDBETWEEN(1,100))처럼 휘발성 함수가 결과 크기를 정하면 다시 계산할 때마다 크기가 달라져서 생겨요.
해결 방법
크기를 고정하거나, 직접 고칠 때만 바뀌는 데이터로 크기를 정하세요. 예: =SEQUENCE(COUNTA(A2:A100))
6결과가 시트 끝을 넘어가요
이렇게 확인해요
경고 아이콘 메뉴에 결과가 워크시트 가장자리를 넘는다고 나와요. 예를 들어 =TRANSPOSE(A:A)는 시트의 열 수(16,384개)보다 많은 열을 채우려 하고, 시트 아래쪽에서 시작한 긴 목록은 행이 모자라요.
해결 방법
=TRANSPOSE(A2:A50)처럼 범위를 줄이거나 수식을 더 위나 왼쪽에서 시작하세요. 메뉴에 메모리가 언급되면 결과가 너무 커서 계산할 수 없다는 뜻이니 범위를 좁히세요.
그래도 안 된다면
- 오류 셀을 클릭하고 경고 아이콘 메뉴의 첫 줄을 읽어 보세요. 원인이 적혀 있어요.
- 공백이나
""를 돌려주는 수식이 들어 있는 "빈" 셀이 없는지 보세요. - 수식이 표 안에 있는지 확인하세요(클릭하면 표 디자인 탭이 나타나요).
A:A같은 참조를A2:A100처럼 정확한 범위로 바꾸세요.#NAME?이 나온다면 UNIQUE, FILTER 같은 동적 배열 함수가 없는 버전에서 파일을 연 거예요.