Как се коригира #SPILL! грешка

Отнася се за
Excel за Microsoft 365 Excel за Microsoft 365 за Mac Excel 2024 Excel 2024 за Mac Excel 2021 Excel 2021 за Mac Excel 2019 Excel 2016 Excel за iPad Excel Web App Excel за iPhone Excel за таблети с Android: Excel за телефони с Android:

#SPILL грешки се връщат, когато формула връща множество резултати или диапазон на обобщена таблица не е празен и Excel не може да върне резултатите в мрежата. За повече информация относно тези типове грешки вижте следните помощни теми:

Забележка

Обобщена таблица #SPILL! в момента е достъпен за участниците в програмата Microsoft 365 Insider.

Диапазонът на пренасяне не е празен

Тази грешка възниква, когато диапазонът на пренасяне за прелял масив или диапазон на обобщена таблица не е празен.  

#SPILL! грешка – диапазонът на пренасяне не е празен

Изберете клетката, съдържаща #SPILL! за показване на пунктирана граница, която показва предвидения диапазон на пренасяне. Като изберете клетката, съдържаща #SPILL! ще се появи предупреждение за проверка за грешки.

Изберете предупреждението за проверка за грешки и изберете опцията " Избор на възпрепятстващи клетки ", за да преминете незабавно към препречите на клетките. След това можете да изчистите грешката чрез изтриване или преместване на записа на възпрепятстващата клетка. Веднага щом препятствието бъде изчистено, формулата за масив ще прелее или обобщената таблица ще се разшири, както е предвидено. 

Неопределен размер

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.

  #SPILL! грешка, предизвикана с =VLOOKUP(A:A;A:D;2;FALSE) в клетка E2, защото резултатите ще се разпространят извън границите на работния лист. Преместете формулата в клетка E1 и тя ще функционира правилно.

Има три лесни начина да решите този проблем:

# Подход Формула
1 Препращайте само към стойностите на справка, които ви интересуват. Този стил на формула ще върне динамичен масив, но няма да работи с таблици на Excel.
Използвайте =VLOOKUP(A2:A7;A:C;2;FALSE), за да се върне динамичен масив, който няма да доведе до #SPILL! като грешка.
=VLOOKUP(A2:A7;A:C;2;FALSE)
2 Посочете само стойността в същия ред и след това копирайте формулата надолу. Този традиционен стил на формула работи в таблици, но няма да върне динамичен масив.
Използвайте традиционната VLOOKUP с една препратка към lookup_value: =VLOOKUP(A2;A:C;32;FALSE). Тази формула няма да върне динамичен масив, но може да се използва с таблици на Excel.
=VLOOKUP(A2;A:C;2;FALSE)
3 Поискайте от Excel да извърши неявно сечение с помощта на оператора @, а след това копирайте формулата надолу. Този стил на формула работи в таблици, но няма да върне динамичен масив.
Използвайте оператора @ и копирайте надолу: =VLOOKUP(@A:A:A:C;2;FALSE). Този стил на препратка ще работи в таблици, но няма да върне динамичен масив.
=VLOOKUP(@A:A;A:C;2;FALSE)

Формула на таблица

Преливащите формули за масиви не се поддържат в таблици на Excel. Опитайте да преместите формулата извън таблицата или да преобразувате таблицата в диапазон (изберете "Инструменти за проектиране > на таблици", Преобразуване в диапазон).>

#SPILL! error – Формула на таблица

Недостиг на памет

Прелелата формула за масив, която се опитвате да въведете, е причината Excel да изчерпи паметта. Опитайте да препратите към по-малък масив или диапазон.

Преливане в обединени клетки

Прелелите формули за масиви не могат да се пренесат в обединени клетки. Премахнете обединяването на въпросните клетки или преместете формулата в друг диапазон, който не се пресича с обединените клетки.

#SPILL! error - преливане в обединена клетка

Изберете формулата, за да се покаже пунктирана граница, която показва предвидения диапазон на пренасяне. Когато изберете формулата, ще се появи известие от проверката за грешки.

Можете да изберете проверката за грешки и да изберете опцията " Избор на препречащи клетки ", за да преминете незабавно към препречите на клетките. Веднага щом обединените клетки бъдат изчистени, формулата за масив ще прелее според очакванията.

Неразпознат/резервен

Excel не разпознава или не може да съгласува причината за тази грешка. Уверете се, че формулата съдържа всички необходими аргументи за вашия сценарий.

Имате нужда от още помощ?

Вж. също

Винаги можете да попитате експерт в техническата общност за Excel или да получите поддръжка в общностите.

FILTER функция

RANDARRAY функция

SEQUENCE функция

SORT функция

SORTBY функция

UNIQUE функция

Поведение на динамичните масиви и прелелите масиви

Неяв оператор за сечение: @