Felet #SPILL! fel - Sträcker sig utanför kalkylbladets kant

Gäller för
Excel för Microsoft 365 Excel för Microsoft 365 för Mac Excel för iPad Excel Web App Excel för iPhone Excel för Android-surfplattor Excel för Android-telefoner

Den spillda matrisformeln du försöker ange sträcker sig utanför kalkylbladets område. Försök igen med ett mindre område eller matris.

I följande exempel löses felet genom att flytta formeln till cell F1 och formeln spills korrekt.

#SPILL! där =SORTERA(D:D) i cell F2 kommer att utökas utanför arbetsbokens kanter. Flytta den till cell F1 så kommer den att fungera korrekt.

Vanliga orsaker: fullständiga kolumnreferenser

Det finns en metod som ofta missförstås för att skapa LETARAD-formler genom att överspecificera det lookup_value argumentet. Innan Excel kunde använda dynamisk matris tog Excel bara hänsyn till värdet på samma rad som formeln och ignorerade andra, eftersom LETARAD bara förväntade sig ett enda värde. Med introduktionen av dynamiska matriser tar Excel hänsyn till alla värden till lookup_value. Det innebär att om en hel kolumn anges som lookup_value argument försöker Excel slå upp alla 1 048 576 värden i kolumnen. När det är klart kommer det att försöka spilla dem till nätet, och kommer med stor sannolikhet att träffa slutet av rutnätet vilket resulterar i en #SPILL! #REF!.  

Till exempel så letade formeln =LETARAD(A:A,A:C,2,FALSKT) tidigare bara upp ID:et i cell A2 om den placerades i cell E2 som i exemplet nedan. Men i dynamisk matris i Excel orsakar formeln ett #SPILL! fel eftersom Excel letar upp hela kolumnen, returnerar 1 048 576 resultat, och tar i kanten på rutnätet i Excel.

#SPILL! felet orsakades av =LETARAD(A:A,A:D,2,FALSKT) i cell E2, eftersom resultaten skulle spilla över utanför kalkylbladets kant. Flytta formeln till cell E1 så kommer den fungera korrekt.

Det finns tre enkla sätt att lösa det här problemet:

# Metod Formel
1 Referera endast till de letaupp-värden du är intresserad av. Det här formelformatet returnerar en dynamisk matris, men fungerar inte med Excel-tabeller.
Använd =LETARAD(A2:A7,A:C,2,FALSKT) för att få tillbaka en dynamisk matris som inte resulterar i en #SPILL! fel.
=LETARAD(A2:A7,A:C,2,FALSKT)
2 Referera endast till värdet på samma rad och kopiera sedan formeln nedåt. Det här traditionella formelformatet fungerar i tabeller men returnerar inte en dynamisk matris.
Använd den traditionella LETARAD med en enda lookup_value referens: =LETARAD(A2,A:C,32,FALSKT). Den här formeln returnerar inte en dynamisk matris, men den kan användas med Excel-tabeller.
=LETARAD(A2,A:C,2,FALSKT)
3 Begär att Excel utför implicit skärningspunkt med @-operatören och kopiera sedan formeln nedåt. Det här formelformatet fungerar i tabeller men returnerar inte en dynamisk matris.
Använd operatorn @ och kopiera nedåt: =LETARAD(@A:A:C,2,FALSKT). Det här referensformatet fungerar i tabeller, men returnerar inte en dynamisk matris.
=LETARAD(@A:A,A:C,2,FALSKT)

Behöver du mer hjälp?

Du kan alltid fråga en expert i Excel Tech Community eller få support i Communities.

Mer information finns i

Funktionen FILTER

Funktionen SLUMPMATRIS

Funktionen SEKVENS

Funktionen SORTERA

Funktionen SORTERAEFTER

Funktionen UNIK

Felet #SPILL! i Excel

Dynamiska matriser och beteenden för matriser och spill

Implicit skärningspunktsoperator: @