Mi a #SPILL hiba az Excelben, és hogyan javítható?

Ez a cikk segít megérteni a #SPILL hibák okait, valamint a megoldásokat az Excel 365-ben történő javításukra.

#BUKÁS! egy újfajta Excel hiba, amely főként akkor fordul elő, ha egy több számítási eredményt előállító képlet egy spill-tartományban próbálja megjeleníteni a kimeneteit, de ez a tartomány már tartalmaz más adatokat.

A blokkoló adat bármi lehet, beleértve a szöveges értéket, az egyesített cellákat, a sima szóköz karaktert, vagy még akkor is, ha nincs elég hely az eredmények visszaadásához. A megoldás egyszerű, vagy törölje a blokkoló adatok tartományát, vagy válasszon ki egy üres cellatömböt, amely nem tartalmaz semmilyen típusú adatot.

Kihagyási hiba általában dinamikus tömbképletek kiszámításakor fordul elő, mivel a dinamikus tömbképlet az, amely több cellába vagy egy tömbbe adja ki az eredményeket. Nézzük meg részletesebben, és értsük meg, mi váltja ki ezt a hibát az Excelben, és hogyan lehet megoldani.

Mi okozza a kiömlési hibát?

A dinamikus tömbök 2018-as bevezetése óta az Excel-képletek egyszerre több értéket is kezelhetnek, és több cellában is visszaadják az eredményeket. A dinamikus tömbök olyan átméretezhető tömbök, amelyek lehetővé teszik, hogy a képletek több eredményt adjanak vissza a munkalap celláinak egy tartományába az egyetlen cellába beírt képlet alapján.

Ha egy dinamikus tömbképlet több eredményt ad vissza, ezek az eredmények automatikusan a szomszédos cellákba kerülnek. Ezt a viselkedést az Excelben „kiömlésnek” nevezik. És a cellák azon tartományát, ahová az eredmények átfolynak, „kiömlési tartománynak” nevezik. A kiömlési tartomány automatikusan bővül vagy szűkül a forrásértékek alapján.

Ha egy képlet több eredménnyel próbál kitölteni egy kiömlési tartományt, de valami blokkolja a tartományban, akkor #SPILL hiba történik.

Az Excel immár 9 olyan funkcióval rendelkezik, amelyek a Dynamic Array funkciót használják a problémák megoldására, ezek a következők:

  • SORREND
  • SZŰRŐ
  • TRANSPOSE
  • FAJTA
  • SORREND
  • RANDARRAY
  • EGYEDI
  • XLOOKUP
  • XMATCH

A dinamikus tömbképletek csak az „Excel 365” programban érhetők el, és jelenleg egyetlen offline Excel szoftver sem támogatja (azaz Microsoft Excel 2016, 2019).

A kiömlési hibákat nem csak az adatok akadályozása okozza, hanem több oka is lehet annak, hogy #Spill errort kaphat. Fedezzük fel azokat a különböző helyzeteket, amikor találkozhat a #KIFOGÁSSAL! hibákat és azok kijavítását.

A kiömlési tartomány nem üres

A kiömlési hiba egyik elsődleges oka az, hogy a kiömlési tartomány nem üres. Például, ha 10 eredményt próbál megjeleníteni, de a kiömlési területen lévő cellák bármelyikében van adat, a képlet a #SPILL! hiba.

1. példa:

Az alábbi példában beírtuk a TRANSPOSE függvényt a C2 cellába, hogy a függőleges cellatartományt (B2:B5) vízszintes tartományba (C2:F2) alakítsuk át. Ahelyett, hogy az oszlopot sorra váltaná, az Excel a #SPILL! hiba.

És amikor rákattint a képlet cellájára, egy szaggatott-kék szegélyt fog látni, amely jelzi a kiömlési területet/tartományt (C2:F2), amelyre szükség van az eredmények lentebb látható megjelenítéséhez. Ezenkívül észrevesz egy sárga figyelmeztető táblát felkiáltójellel.

A hiba okának megértéséhez kattintson a hiba melletti figyelmeztető ikonra, és tekintse meg az üzenetet az első sorban szürkével kiemelve. Amint látja, itt azt írja: „A kiömlési tartomány nem üres”.

A probléma itt az, hogy a D2 és E2 kihagyási tartomány celláiban szövegkarakterek vannak (nem üresek), ezért a hiba.

Megoldás:

A megoldás egyszerű: vagy törölje a kiömlési tartományban található adatokat (vagy helyezze át vagy törölje), vagy helyezze át a képletet egy másik helyre, ahol nincs akadály.

Amint törli vagy áthelyezi az elzáródást, az Excel automatikusan feltölti a cellákat a képlet eredményeivel. Itt, amikor töröljük a szöveget a D2-ben és az E2-ben, a képlet az oszlopot a szándék szerint sorba transzponálja.

2. példa:

Az alábbi példában, bár a kiömlési tartomány üresnek tűnik, a képlet továbbra is a kiömlést mutatja! hiba. Ez azért van, mert a kiömlés valójában nem üres, az egyik cellában van egy láthatatlan szóköz.

Nehéz megtalálni a szóköz karaktereket vagy bármely más láthatatlan karaktert, amely üresnek tűnő cellákban rejtőzik. A nem kívánt adatokat tartalmazó cellák megtalálásához kattintson az Error floatie (figyelmeztető jel) elemre, és válassza ki a menüből a 'Select Obstructing Cells' menüpontot, és az akadályozó adatokat tartalmazó cellához kerül.

Mint látható, az alábbi képernyőképen az E2 cellában két szóköz van. Ha törli ezeket az adatokat, megkapja a megfelelő kimenetet.

Néha a láthatatlan karakter lehet a cella kitöltési színével megegyező betűszínnel formázott szöveg vagy a ;;; számkóddal egyénileg formázott cellaérték. Ha egyénileg formáz egy cellaértéket a ;;;-vel, akkor a cellában lévő elemeket elrejti, a betűtípustól vagy a cella színétől függetlenül.

A kiömlési tartomány egyesített cellákat tartalmaz

Néha a #KIFOLYÁS! hiba történik, ha a kiömlési tartomány tartalmazza az egyesített cellákat. A dinamikus tömbképlet nem működik egyesített cellákkal. Ennek kijavításához mindössze annyit kell tennie, hogy szüntesse meg a cellák egyesítését a kiszóródási tartományban, vagy helyezze át a képletet egy másik tartományba, amelyben nincsenek egyesített cellák.

Az alábbi példában annak ellenére, hogy a kiömlési tartomány üres (C2:CC8), a képlet a Kiömlési hibát adja vissza. Ez azért van, mert a C4 és C5 cellák egyesültek.

Ha meg szeretné győződni arról, hogy az egyesített cellák okozzák a hibát, kattintson a ikonrafigyelmeztető jelet, és ellenőrizze az okot – „A kiömlési tartomány egyesült cellával”.

Megoldás:

A cellák egyesítésének megszüntetéséhez jelölje ki az egyesített cellákat, majd a „Kezdőlap” fülön kattintson az „Egyesítés és központ” gombra, és válassza a „Cellák összevonása” lehetőséget.

Ha nehezen találja meg az egyesített cellákat a nagyméretű táblázatban, kattintson a figyelmeztető jelek menüjének „Akadályozó cellák kiválasztása” parancsára, hogy az egyesített cellákra ugorjon.

Kiömlési tartomány a táblázatban

A kiszórt tömbképletek nem támogatottak az Excel-táblázatokban. A dinamikus tömb képletét csak egyetlen cellában szabad megadni. Ha beír egy kiömlött tömbképletet egy táblázatba, vagy amikor a kiömlött terület egy táblázatba esik, akkor a Kiömlés hibaüzenetet kapja. Ha ez megtörténik, próbálja meg átalakítani a táblázatot normál tartományba, vagy mozgassa a képletet a táblázaton kívülre.

Például, ha beírjuk a következő kiszórt tartomány képletet egy Excel-táblázatba, akkor a táblázat minden cellájában kihagyáshiba jelenik meg, nem csak a képletcellában. Ennek az az oka, hogy az Excel automatikusan átmásolja a táblázatban megadott képleteket a táblázat oszlopának minden cellájába.

Ezenkívül kiöntési hibaüzenetet kap, amikor egy képlet megpróbálja kiönteni az eredményeket egy táblázatba. Az alábbi képernyőképen a kiömlési terület a meglévő táblázatba esik, így kiömlési hibát kapunk.

A hiba okának megerősítéséhez kattintson a figyelmeztető jelre, és nézze meg a hiba okát – „A kiömlési tartomány a táblázatban”

Megoldás:

A hiba kijavításához vissza kell állítania az Excel táblázatot a tartományba. Ehhez kattintson a jobb gombbal bárhová a táblázatban, kattintson a "Táblázat" elemre, majd válassza a "Konvertálás tartományba" lehetőséget. Alternatív megoldásként kattintson a bal egérgombbal bárhová a táblázatban, majd lépjen a „Táblázattervezés” fülre, és válassza a „Tartományra konvertálás” lehetőséget.

A kiömlési tartomány ismeretlen

Ha az Excel nem tudta megállapítani a kiszóródott tömb méretét, akkor kiváltja a Kiszórt hibát. Néha a képlet lehetővé teszi, hogy egy dinamikus tömb átméretezzen az egyes számítási lépések között. Ha a dinamikus tömb mérete folyamatosan változik a számítások során, és nem egyensúlyoz ki, az #SPILL! Hiba.

Az ilyen típusú kiömlési hiba általában olyan illékony funkciók használatakor lép fel, mint a RAND, RANDARRAY, RANDBETWEEN, OFFSET és INDIRECT funkciók.

Például, ha az alábbi képletet használjuk a B3 cellában, akkor a Spill (Kiömlés) hibát kapjuk:

=SOROZAT(RANDBETWEEN(1, 500))

A példában a RANDBETWEEN függvény egy 1 és 500 közötti véletlenszerű egész számot ad vissza, és a kimenete folyamatosan változik. A SEQUENCE függvény pedig nem tudja, hogy hány értéket állítson elő egy kiszóródó tömbben. Ezért a #SPILL hiba.

A hiba okát a Figyelmeztető jelre kattintva is megerősítheti – „A kiömlési tartomány ismeretlen”.

Megoldás:

A képlet hibájának kijavításához egyetlen választása az, hogy más képletet használ a számításhoz.

A kiömlési tartomány túl nagy

Időnként olyan képletet hajthat végre, amely túl nagy kiszórt tartományt ad ki ahhoz, hogy a munkalap kezelje, és túlnyúlhat a munkalap szélein. Amikor ez megtörténik, előfordulhat, hogy #SPILL! hiba. A probléma megoldásához megpróbálhat egy adott tartományra vagy egy cellára hivatkozni a teljes oszlopok helyett, vagy a „@” karakter használatával engedélyezheti az implicit metszéspontot.

Az alábbi példában megpróbáljuk kiszámítani az A oszlopban lévő értékesítési számok 20%-át, és az eredményeket a B oszlopban visszaadni, de ehelyett kiömlési hibát kapunk.

A B3-ban szereplő képlet az A3-ban szereplő érték 20%-át, majd az A4-es érték 20%-át számítja ki, és így tovább. Több mint egymillió eredményt (1 048 576) ad, és mindegyiket a B oszlopba szórja ki a B3 cellától kezdve, de eléri a munkalap végét. Nincs elég hely az összes kimenet megjelenítéséhez, ennek eredményeként #SPILL hibát kapunk.

Amint láthatja, ennek a hibának az az oka, hogy – „túl nagy a kiömlési tartomány”.

Megoldások:

A probléma megoldásához próbálja meg módosítani a teljes oszlopot egy releváns tartományra vagy egy egycellás hivatkozásra, vagy adja hozzá a @ operátort az implicit metszés végrehajtásához.

Javítás 1: A teljes oszlopok helyett megpróbálhat tartományokra hivatkozni. Itt megváltoztatjuk a teljes A:A tartományt A3:A11-gyel a képletben, és a képlet automatikusan feltölti a tartományt az eredményekkel.

2. javítás: Cserélje ki a teljes oszlopot csak a cellahivatkozással ugyanabban a sorban (A3), majd a kitöltő fogantyúval másolja le a képletet a tartományban.

3. javítás: Megpróbálhatja a @ operátort is hozzáadni a hivatkozás elé, hogy implicit metszéspontot hajtson végre. Ez csak a képlet cellában jeleníti meg a kimenetet.

Ezután másolja a képletet a B3 cellából a tartomány többi részébe.

Jegyzet: Kiömlött képlet szerkesztésekor csak a kiöntési terület/tartomány első celláját szerkesztheti. A képlet a kiömlési tartomány többi cellájában is látható, de ezek szürkék lesznek, és nem frissíthetők.

Elfogyott a memória

Ha olyan kiszóródott tömbképletet hajt végre, amely miatt az Excel kifogy a memóriából, az #SPILL hibát okozhat. Ilyen körülmények között próbáljon meg egy kisebb tömbre vagy tartományra hivatkozni.

Felismeretlen / Tartalék

Akkor is kaphat kiömlési hibát, ha az Excel nem ismeri fel vagy nem tudja összeegyeztetni a hiba okát. Ilyen esetekben ellenőrizze még egyszer a képletet, és győződjön meg arról, hogy a függvények összes paramétere helyes.

Most már ismeri a #SPILL összes okát és megoldását! hibák az Excel 365-ben.