#SPILL грешки се връщат, когато една формула върне множество резултати, и Excel не може да върне резултатите в мрежата. За повече информация относно тези типове грешки вижте следните помощни теми:
Тази грешка възниква, когато диапазонът на пренасяне за прелета формула за масив не е празен.
Изберете формулата, за да се покаже пунктирана граница, която показва желания диапазон на пренасяне. Когато изберете формулата, ще се появи известие за проверка за грешки.
Изберете известието за проверка за грешки и изберете опцията Избор на преградни клетки , за да преминете незабавно през преградните клетки. След това можете да изчистите грешката, като изтриете или преместите елемента от преградната клетка. Веднага щом запретването бъде изчистено, формулата за масив ще прелее според предназначението си.
Excel не можа да определи размера на пренесения масив, защото е непостоянен и преоразмерява преминаванията между изчисленията. Например следната формула ще задейства тази #SPILL! грешка:
=SEQUENCE(RANDBETWEEN(1,1000))
Динамичните преоразмеряния на масиви може да задействат допълнителни предавания на изчисленията, за да се гарантира, че електронната таблица е напълно изчислена. Ако размерът на масива продължава да се променя по време на тези допълнителни преминавания и не се стабилизира, Excel ще преобразува динамичния масив като #SPILL!.
Тази стойност за грешка обикновено се свързва с използването на функциите RAND, RANDARRAY и RANDBETWEEN . Други непостоянни функции, като OFFSET, INDIRECT и TODAY , не връщат различни стойности при всяко успешно изчисление.
Например когато се постави в клетка E2, както в примера по-долу, формулата =VLOOKUP(A:A;A:C;2;FALSE) би търсила преди това само ИД в клетка A2. В динамичния масив excel обаче формулата ще доведе до #SPILL! защото Excel ще потърси цялата колона, ще върне 1 048 576 резултата и ще достигне края на мрежата на Excel.
Има три прости начина за разрешаване на този проблем:
# |
Подход |
Формула |
---|---|---|
1 |
Посочете само стойностите за справка, които ви интересуват. Този стил на формула ще върне динамичен масив, но не работи с таблици на Excel.
|
=VLOOKUP(A2:A7;A:C;2;FALSE) |
2 |
Посочете само стойността на същия ред и след това копирайте формулата надолу. Този традиционен стил на формула работи в таблици, но няма да върне динамичен масив.
|
=VLOOKUP(A2;A:C;2;FALSE) |
3 |
Поискайте от Excel да изпълни неявно сечение с помощта на оператора @ и след това да копира формулата надолу. Този стил на формула работи в таблици, но няма да върне динамичен масив.
|
=VLOOKUP(@A:A;A:C;2;FALSE) |
Прелелите формули за масиви не се поддържат в таблици на Excel. Опитайте да преместите формулата извън таблицата или да преобразувате таблицата в диапазон (изберете Проектиране на таблица > Инструменти > Преобразуване в диапазон).
Прелетата формула за масив, която се опитвате да въведете, е причинила недостиг на памет от Excel. Опитайте да направите препратка към по-малък масив или диапазон.
Прелелите формули за масиви не могат да се прелеят в обединени клетки. Премахнете обединяването на въпросните клетки или преместете формулата в друг диапазон, който не се пресича с обединени клетки.
Изберете формулата, за да се покаже пунктирана граница, която показва желания диапазон на пренасяне. Когато изберете формулата, ще се появи известие за проверка за грешки.
Можете да изберете известието за проверка за грешки и да изберете опцията Избор на преградни клетки , за да преминете незабавно през преградните клетки. Веднага щом обединените клетки бъдат изчистени, формулата за масив ще се прелее по предназначение.
Excel не разпознава или не може да съгласува причината за тази грешка. Уверете се, че вашата формула съдържа всички задължителни аргументи за вашия сценарий.
Имате нужда от още помощ?
Вж. също
Винаги можете да попитате експерт в техническата общност на Excel или да получите поддръжка в Общността за отговори от.