본문으로 건너뛰기
ArumSoft Learning
EN
    #SPILL!Excel

    엑셀 #SPILL! 오류 해결 방법

    적용 버전: Microsoft 365용 Excel, Excel 2021 이상, 웹용 Excel · 업데이트

    빠른 답수식이 결과를 채워야 할 셀에 무언가 들어 있어요. #SPILL! 셀을 클릭하고 경고 아이콘 메뉴에서 가로막는 셀을 선택하는 항목을 누른 뒤, 그 셀의 내용을 지우거나 옮기세요.

    UNIQUE, FILTER, SORT, SEQUENCE 같은 함수는 결과를 여러 개 돌려줘요. 엑셀은 첫 결과를 수식이 있는 셀에 넣고 나머지를 아래나 오른쪽 셀로 "흘려 보내요(분산)". 그럴 수 없으면 대신 #SPILL!을 표시해요. 오류 셀을 선택하면 엑셀이 쓰려던 범위가 점선 테두리로 보여요.

    셀 옆의 경고 아이콘을 누르면 메뉴 첫 줄에 원인이 나와요. 아래에서 자주 생기는 순서대로 원인별 해결법을 정리했어요.

    결과 분산과 #SPILL! 오류는 Microsoft 365용 Excel, Excel 2021 이상, 웹용 Excel에만 있어요. 이전 버전은 결과를 분산하지 않아요.

    원인별 해결 방법

    1. 결과가 들어갈 자리에 이미 무언가 있어요
    2. 수식이 엑셀 표 안에 있어요
    3. 결과 범위에 병합된 셀이 있어요
    4. 열 전체 참조 때문에 결과가 너무 커요
    5. 결과 크기가 계속 바뀌어요
    6. 결과가 시트 끝을 넘어가요

    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 같은 동적 배열 함수가 없는 버전에서 파일을 연 거예요.