#ПРЕЛИВАНЕ! грешка – Простира извън края на работния лист

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

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

В следващия пример преместването на формулата в клетка F1 ще отстрани грешката и формулата ще прелее правилно.

#SPILL! , където =SORT(D:D) в клетка F2 ще се разпростира извън краищата на работната книга. Преместете я в клетка F1 и тя ще работи правилно.

Често срещани причини: Препратки към цели колони

Съществува често неразбран метод за създаване на формули на VLOOKUP чрез прекомерно задаване на аргумента lookup_value . Преди Excel с възможност за динамични масиви Excel разглежда стойността само на същия ред като формулата и игнорира всички останали, тъй като VLOOKUP очаква само една стойност. С въвеждането на динамичните масиви Excel взема предвид всички стойности, предоставени на lookup_value. Това означава, че ако аргументът на lookup_value е дадена цяла колона, Excel ще се опита да търси всички 1 048 576 стойности в колоната. След като приключи, той ще се опита да ги разлее в мрежата и много вероятно ще удари края на мрежата, което ще доведе до #SPILL! грешка.  

Например когато бъде поставена в клетка 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 и тя ще функционира правилно.

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

# Подход Формула
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 или да получите поддръжка в общностите.

Вж. също

FILTER функция

RANDARRAY функция

SEQUENCE функция

SORT функция

SORTBY функция

UNIQUE функция

#ПРЕЛИВАНЕ! в Excel

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

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