Menu

Błąd #ROZLANIE! (#SPILL!) w Excelu: przyczyny i naprawa

#ROZLANIE! oznacza, że formuła zwracająca kilka wartości nie ma gdzie ich umieścić: komórka w jej zakresie rozlania nie jest pusta. Wyczyść komórki, które przeszkadzają, a wynik się pojawi.

Każdy arkusz na tej stronie działa na żywo: zmień liczbę albo formułę, a się przeliczy.

#ROZLANIE! (po angielsku #SPILL!) oznacza, że formuła zwraca kilka wartości (listę albo tabelę), a Excel nie ma miejsca, żeby je zapisać: co najmniej jedna komórka w zakresie potrzebnym na wynik nie jest pusta. Tabele na tej stronie pokazują angielskie nazwy błędów. =UNIKATOWE(A2:A6) (po angielsku UNIQUE) poniżej potrzebuje trzech komórek, od C2 do C4, a w C4 jest x. Usuń C4, a lista się pojawi. Tabela pokazuje formułę po angielsku, =UNIQUE(A2:A6), ale możesz w niej wpisywać formuły także po polsku, ze średnikami.

UNIKATOWE zablokowana przez wartość
C2
ABC
1ProductUnique list
2Apple#SPILL!
3Pear
4Applex
5Plum
6Pear
#SPILL! Wynik potrzebuje więcej wolnych komórek. Wyczyść komórki, które go blokują.W polskim Excelu: =UNIKATOWE(A2:A6)

Kliknij C2: notatka pod siatką mówi, co jest nie tak. Potem kliknij C4 i naciśnij Delete. Trzy produkty rozleją się do C2:C4, a obramowanie oznaczy zakres rozlania. Wpisz coś w C3, a błąd wróci. Excel działa tak samo: funkcje zwracające tablice, takie jak FILTRUJ, UNIKATOWE, SORTUJ, SEKWENCJA i PODZIEL.TEKST (FILTER, UNIQUE, SORT, SEQUENCE, TEXTSPLIT), działają tylko wtedy, gdy cały ich zakres rozlania jest wolny. Wymagają Excela 2021 albo nowszego (PODZIEL.TEKST: Microsoft 365 albo Excela 2024); starsze wersje pokazują dla nich #NAZWA?, więc #ROZLANIE! nigdy się tam nie pojawia (samą funkcję opisuje strona UNIKATOWE).

Jak naprawić błąd #ROZLANIE!

  1. Kliknij komórkę z #ROZLANIE!. W Excelu przerywana ramka pokazuje zakres, który wynik chce wypełnić.
  2. Kliknij ikonę ostrzeżenia obok komórki i wybierz Zaznacz komórki blokujące. Excel zaznaczy każdą komórkę, która przeszkadza.
  3. Naciśnij Delete albo przenieś te komórki w inne miejsce (wytnij i wklej).

Jeśli komórki blokujące zawierają potrzebne dane, przenieś zamiast nich formułę: umieść ją w kolumnie albo wierszu, gdzie wszystko pod nią i obok niej jest puste.

#ROZLANIE!, gdy komórki wyglądają na puste

Najbardziej mylący przypadek: zakres rozlania wygląda na pusty, a Excel nadal pokazuje #ROZLANIE!. Komórka z pojedynczą spacją albo z formułą zwracającą pusty tekst "" nie jest pusta i blokuje rozlanie tak samo jak wartość.

Komórki, które wyglądają na puste, ale blokują
A2
ABC
1NumbersNumbers
2#SPILL!#SPILL!
3
4
#SPILL! Wynik potrzebuje więcej wolnych komórek. Wyczyść komórki, które go blokują.W polskim Excelu: =SEKWENCJA(3)

A2 potrzebuje A2:A4, a A4 zawiera spację. C2 potrzebuje C2:C3, a C3 zawiera ="". Kliknij A4 albo C3, aby zobaczyć, co tam jest, usuń to, a liczby się rozleją. W Excelu Zaznacz komórki blokujące znajduje te komórki, nawet gdy nic w nich nie widać. Biały tekst na białym wypełnieniu ukrywa się tak samo.

#ROZLANIE!, gdy jedna formuła rozlewa się na drugą

Dwie rozlewające się formuły mogą blokować się nawzajem, albo formuła wpisana przez kogoś niżej może stać w zakresie rozlania tej powyżej.

Dwie formuły na swojej drodze
D2
ABCDE
1NameDeptITSales
2AnaIT#SPILL!Ben
3BenSalesDee
4CyIT5
5DeeSales
6EveIT
#SPILL! Wynik potrzebuje więcej wolnych komórek. Wyczyść komórki, które go blokują.W polskim Excelu: =FILTRUJ(A2:A6;B2:B6="IT")

Lista IT potrzebuje trzech komórek, D2:D4, a w D4 jest formuła ILE.NIEPUSTYCH (COUNTA). Lista Sales w E2 ma dwie potrzebne komórki, więc działa. Przenieś formułę ILE.NIEPUSTYCH do D6 (albo dowolnej komórki pod listą), a imiona z IT się rozleją. Zostaw liście miejsce na wzrost: jeśli później dojdzie czwarty pracownik IT, wynik będzie potrzebował jeszcze jednej komórki.

#ROZLANIE! przy WYSZUKAJ.PIONOWO i całych kolumnach

Częsta przyczyna w formułach pisanych dla starszego Excela to szukana wartość będąca całą kolumną:

=VLOOKUP(A:A,Prices!A:B,2,FALSE)      #SPILL!  (one result for every row of the sheet)
=VLOOKUP(A2,Prices!A:B,2,FALSE)       one result, fill it down
=VLOOKUP(A2:A100,Prices!A:B,2,FALSE)  100 results that spill
=VLOOKUP(@A:A,Prices!A:B,2,FALSE)     one result, the value on the formula's own row

W polskim Excelu: =WYSZUKAJ.PIONOWO(A2;Prices!A:B;2;FAŁSZ) i =WYSZUKAJ.PIONOWO(@A:A;Prices!A:B;2;FAŁSZ). A:A ma 1 048 576 komórek, więc pierwsza formuła prosi o 1 048 576 wyników, a od wiersza 2 w dół nie zostaje dość wierszy: menu ostrzeżenia mówi, że zakres rozlania wychodzi poza krawędź arkusza. Ten wzorzec pochodzi ze starszego Excela, który po cichu używał tylko wartości z wiersza formuły. Excel 365 zachowuje to działanie w starych skoroszytach, pokazując formułę jako =WYSZUKAJ.PIONOWO(@A:A;...), ale ta sama formuła wpisana od nowa rozlewa całą kolumnę. To samo dzieje się z =A:A*2 i każdą inną formułą liczącą na całej kolumnie. Użyj jednej komórki i skopiuj w dół, zakresu o prawdziwym rozmiarze albo @. Więcej o samym wyszukiwaniu znajdziesz na stronie WYSZUKAJ.PIONOWO (VLOOKUP).

Jeden wynik na wiersz zamiast rozlania

Formuła licząca na zakresie też się rozlewa. Często o to chodzi, ale czasem wolisz jedną formułę na wiersz.

Jedna rozlana formuła a jedna formuła na wiersz
C2
ABCD
1MonthSalesSpilled +10%Filled +10%
2Jan100110110
3Feb120132132
4Mar909999
5Apr140154154
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.W polskim Excelu: =B2:B5*1,1

Obie kolumny pokazują 110, 132, 99 i 154. C2 zawiera jedną formułę, a C3:C5 to jej rozlanie: kliknij C3, a notatka pod siatką powie, że rozlewa się z C2. Wpisz coś w C4, a C2 zmieni się w #ROZLANIE!. D2:D5 to cztery osobne formuły, więc każdą komórkę można zmienić osobno i nic ich nie zablokuje. Używaj drugiej postaci, gdy ludzie będą nadpisywać pojedyncze wyniki.

#ROZLANIE! w tabeli, przy scalonych komórkach albo przy nieznanym rozmiarze

Te przyczyny zależą od skoroszytu, a nie od formuły:

  • W tabeli Excela (Wstawianie > Tabela): tabele nie obsługują rozlanych wyników, więc FILTRUJ albo UNIKATOWE w kolumnie tabeli pokazuje #ROZLANIE!. Umieść formułę poza tabelą albo zaznacz tabelę i wybierz Projekt tabeli > Konwertuj na zakres.
  • Scalone komórki w zakresie rozlania: zaznacz je i wybierz Narzędzia główne > Scal i wyśrodkuj > Rozdziel komórki albo przenieś formułę.
  • „Spill range is unknown” (nieznany zakres rozlania): rozmiar wyniku zmienia się przy każdym przeliczeniu, jak w =SEKWENCJA(LOS.ZAKR(1;10)). Excel odmawia rozlania wyniku o zmiennym rozmiarze. Nadaj mu stały rozmiar.
  • „Spill range is too big” (zakres rozlania jest za duży) albo „extends beyond the worksheet's edge” (wychodzi poza krawędź arkusza): wynik wyszedłby poza ostatni wiersz albo kolumnę. „Out of memory” (brak pamięci): tablica jest za duża, żeby ją obliczyć. We wszystkich trzech przypadkach zmniejsz zakresy, zwykle z całych kolumn do rzeczywistych danych.

Zwróć jedną wartość, żeby nic jej nie blokowało

Gdy z listy potrzebujesz tylko jednej liczby, na przykład ile jest różnych produktów, obejmij funkcję rozlewającą funkcją zwracającą jedną wartość. Pojedyncza wartość nigdy się nie rozlewa, więc żadna komórka nie stanie jej na drodze.

Ile jest różnych produktów
E2
ABCDE
1ProductDifferent products
2Apple
3Pear
4Applex
5Plum
6Pear
7Apple
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.

Twoja kolej: E2 ma podawać, ile różnych produktów jest w A2:A7. Zwykłe =UNIQUE(A2:A7) rozlałoby się na x w E4. Napisz w E2 jedną formułę, która zwraca tę liczbę.

ILE.NIEPUSTYCH liczy wartości zwrócone przez UNIKATOWE i oddaje jedną liczbę. Ten sam pomysł działa z =INDEKS(SORTUJ(A2:A7);1) dla pierwszej wartości posortowanej listy, =INDEKS(FILTRUJ(...);1) dla pierwszego dopasowania albo =SUMA(FILTRUJ(...)) dla sumy.

Najczęściej zadawane pytania

Co oznacza #ROZLANIE! w Excelu?

Formuła zwróciła więcej niż jedną wartość (tablicę dynamiczną), a Excel nie mógł zapisać ich w komórkach pod nią albo obok niej, bo co najmniej jedna z tych komórek nie jest pusta, jest scalona albo leży w tabeli. Wyczyść albo przenieś to, co przeszkadza, a wyniki się pojawią.

Dlaczego dostaję #ROZLANIE!, gdy komórki wyglądają na puste?

Komórka, która wygląda na pustą, może zawierać spację, formułę zwracającą "" albo tekst sformatowany na biało. Każda z tych rzeczy blokuje rozlanie. Kliknij ikonę ostrzeżenia obok błędu, wybierz Zaznacz komórki blokujące i naciśnij Delete.

Jak naprawić #ROZLANIE! przy WYSZUKAJ.PIONOWO?

Szukana wartość to cała kolumna albo zakres, na przykład =WYSZUKAJ.PIONOWO(A:A;D:E;2;FAŁSZ), więc Excel próbuje zwrócić jeden wynik na każdy wiersz arkusza. Użyj jednej komórki i skopiuj w dół, =WYSZUKAJ.PIONOWO(A2;D:E;2;FAŁSZ), albo zakresu o rzeczywistym rozmiarze, =WYSZUKAJ.PIONOWO(A2:A100;D:E;2;FAŁSZ).

Jak powstrzymać formułę przed rozlewaniem w Excelu?

Spraw, żeby zwracała jedną wartość. Postaw @ przed zakresem, aby wziąć tylko wartość z wiersza formuły (=@A2:A10*2), albo obejmij wynik funkcją zwracającą jedną wartość, taką jak =ILE.NIEPUSTYCH(UNIKATOWE(A2:A10)) albo =INDEKS(SORTUJ(A2:A10);1).

Czy rozlana formuła może być w tabeli Excela?

Nie. Formuła, która się rozlewa, pokazuje w tabeli #ROZLANIE!. Umieść ją w komórce poza tabelą albo zamień tabelę na zwykły zakres przez Projekt tabeli > Konwertuj na zakres.

Ilustracja języków programowania w Coddy

Ucz się programowania z Coddy

ZACZNIJ