Errore #SPILL! in Excel: cosa significa e come risolverlo
Scopri perché compare l’errore #SPILL! quando usi gli array dinamici in Excel. Impara a correggerlo, prevenirlo e sfruttare al meglio le formule con array di Excel.
L’errore #SPILL! in Excel è una conseguenza diretta della potente funzionalità degli array dinamici introdotta in Excel 365. Anche se a prima vista può sembrare frustrante, in realtà è un segnale utile che qualcosa, spesso un blocco in una cella, sta impedendo alla tua formula di visualizzare tutti i risultati previsti.
Gli array dinamici permettono alle formule di restituire automaticamente più valori nelle celle adiacenti, ma introducono anche nuovi comportamenti e, con essi, nuove tipologie di errori. Piuttosto che vedere #SPILL! come un ostacolo, consideralo un’opportunità per perfezionare la logica, il layout e l’efficienza del tuo foglio di calcolo.
In questa guida spiegherò le diverse cause dell’errore #SPILL! e come eseguire la diagnosi con esempi pratici. Se stai muovendo i primi passi in Excel, il nostro corso Introduction to Excel copre competenze essenziali come muoversi nell’interfaccia, comprendere i formati dei dati e lavorare con funzioni di base.
Cos’è l’errore Spill in Excel?
L’errore #SPILL! in Excel indica che una formula sta cercando di restituire più valori, ma qualcosa sta impedendo ai risultati di “spandersi” nell’intervallo di celle necessario. Questo concetto deriva dalla funzionalità degli array dinamici di Excel 365, in cui una singola formula può popolare automaticamente i risultati in più celle adiacenti, note come intervallo di spill.
Immaginalo come versare acqua in una fila di bicchieri vuoti: se alcuni bicchieri sono già pieni (le celle contengono già dati o sono bloccate), l’acqua non può scorrere correttamente ed Excel mostra un errore #SPILL! per avvisarti. È un grande cambiamento rispetto alle versioni precedenti di Excel, che usavano la cosiddetta intersezione implicita, restituendo un solo valore da una formula anche se faceva riferimento a un intervallo. Con gli array dinamici, Excel è più intelligente e potente, ma richiede anche maggiore attenzione a ciò che accade nelle celle circostanti.
Cause comuni dell’errore #SPILL!
L’errore #SPILL! può comparire per vari motivi, e comprenderne la causa alla radice aiuta a risolverlo rapidamente. Di seguito trovi le cause più comuni, con esempi pratici e come riconoscerle o risolverle.
Celle unite
Se una qualsiasi cella nell’intervallo di spill è unita, la formula non può espandersi. Nell’esempio seguente compare l’errore #SPILL! perché le celle “B3” e “C3” sono unite e la formula non può espandersi in “B3”.
Array dinamici all’interno di tabelle
Le formule con array dinamici non funzionano all’interno delle Tabelle di Excel create con Ctrl + T. Il loro formato di riferimenti strutturati è in conflitto con il comportamento di spill. Nell’esempio seguente, Excel restituirà un errore #SPILL! perché gli array dinamici non possono espandersi all’interno di una tabella.
Intervallo di spill ostruito
Le cause più comuni dell’errore #SPILL! sono elementi che bloccano, visibilmente o meno, le celle in cui la formula vuole espandersi. Le ostruzioni visibili includono dati, formule o testo già presenti nelle celle di destinazione. Nell’esempio seguente, l’errore #SPILL! si verifica perché la cella “B4” contiene già dei dati.
Le ostruzioni invisibili possono essere stringhe vuote (""), spazi o formattazioni nascoste. In questi casi, Excel delinea l’area di spill prevista con un bordo tratteggiato e mostra un’icona di errore su cui puoi fare clic per i dettagli.
Errori di sintassi o problemi di collegamento cartella di lavoro
Sintassi di formula non corretta o collegamenti interrotti a cartelle di lavoro esterne possono anch’essi generare l’errore #SPILL!.
Dimensione della formula sconosciuta o troppo grande
Otterrai un errore #SPILL! se usi formule che generano array molto grandi, come =RANDARRAY(1000000,1) o formule che fanno riferimento a intere colonne come =A:A. Queste formule possono superare i limiti di righe o colonne di Excel, oppure Excel può esaurire la memoria durante l’elaborazione dell’array.
Come risolvere un errore #SPILL! passo dopo passo
Risolvere un errore #SPILL! in Excel può essere rapido se segui un approccio strutturato. Ecco una guida passo passo per identificare e correggere il problema.
Passo 1: individua la causa
Inizia facendo clic sull’icona di avviso accanto alla cella con #SPILL!. Se compare l’opzione SelezionaCelle ostruenti, usala per evidenziare esattamente le celle che bloccano lo spill.
Passo 2: libera l’intervallo di spill
Se la formula è bloccata da altro contenuto:
Seleziona le celle delineate dal bordo tratteggiato dello spill.
Vai alla scheda Home > Cancella > Cancella contenuto o Cancella tutto.
Passo 3: separa le celle unite o sposta la formula
Se le celle unite bloccano lo spill:
Seleziona le celle unite e vai su Home > Unisci e centra > Separa celle.
Per centrare visivamente il testo senza unire le celle, usa Centra tra selezione in Formato celle > Allineamento.
In alternativa, sposta la formula in un’area senza celle unite per evitare l’errore #SPILL!.
Passo 4: adatta i layout delle tabelle
Dato che gli array dinamici non funzionano all’interno delle Tabelle di Excel:
Fai clic con il tasto destro all’interno della tabella > Tabella > Converti in intervallo.
Poi reinserisci la formula fuori dall’area della tabella.
Ti consiglio di pianificare le formule con array dinamici in aree lontane dalle Tabelle di Excel quando possibile.
Passo 5: usa l’operatore @ per un singolo valore
Puoi usare l’operatore @ per ottenere un solo valore da una formula dinamica (non un intervallo di spill). Ad esempio, la formula =@A2:A10 restituisce solo il primo elemento (A1).
Invece, =A2:A10 espande i risultati in altre celle per restituire l’intero intervallo.
Passo 6: prova le formule in aree vuote
Se non ti è ancora chiaro cosa stia causando il problema, copia la formula in una parte completamente vuota del foglio. Questo approccio aiuta a capire se l’errore dipende dalla formula stessa o da ostruzioni nelle celle circostanti.
Esempi di troubleshooting
Ora che abbiamo visto come risolvere l’errore #SPILL! in Excel, di seguito trovi esempi pratici di diagnosi usando funzioni comuni di Excel e array dinamici.
VLOOKUP() restituisce un errore #SPILL!
Potresti pensare che VLOOKUP() restituisca sempre un singolo valore, ma se abbinata a un intervallo di valori di ricerca come A2:A10, prova a produrre più risultati su molte righe.
Nell’esempio seguente, Excel prova a restituire 10 valori (uno per ogni ricerca), ma compare un errore #SPILL! perché le celle sotto la formula non sono vuote.
Per risolvere, assicurati che l’intervallo di destinazione (in questo caso, le 10 righe successive) sia vuoto, poi riapplica la formula.
Esempi con FILTER(), INDEX()-MATCH() e IF()
Formule abilitate agli array dinamici come FILTER(),INDEX MATCH, e IF() possono generare più risultati a seconda della logica e dei riferimenti. Una pianificazione carente del layout porta spesso a #SPILL!.
Considera l’esempio seguente “Corrispondenza di attributi tra colonne”. La formula seguente restituisce tutte le righe della colonna A in cui coincidono "Red" e "Large". Se l’intervallo di spill è bloccato, otterrai un errore #SPILL!.
=FILTER(A2:A100, (B2:B100="Red")*(C2:C100="Large"))Offerto da
Allo stesso modo, puoi usare il set di funzioni INDEX()-MATCH() per restituire più risultati di ricerca per un intervallo di input. Ma se l’intervallo di spill sotto la formula è bloccato o disallineato, non potrà espandersi.
=INDEX(A2:A100, MATCH(E3:E10, B2:B100, 0))Offerto da
Valuta l’uso di LET() e SEQUENCE() per chiarezza e controllo. Ad esempio, nella formula seguente, FILTER() produce un elenco in spill, ma TEXTJOIN() lo comprime in un’unica cella, quindi non serve lo spill. È un buon modello quando vuoi risultati dinamici ma evitare #SPILL!.
=LET(colors, FILTER(A2:A10, B2:B10="Blue"), TEXTJOIN(", ", TRUE, colors))Offerto da
Buone pratiche per prevenire gli errori di spill
Per ridurre le probabilità di incontrare errori #SPILL!, è importante considerare le seguenti buone pratiche quando progetti e mantieni le tue cartelle di lavoro Excel:
Lascia spazio all’espansione degli array dinamici: Assicurati sempre che ci sia spazio vuoto sufficiente sotto e a destra del punto in cui una formula con array dinamico potrebbe espandersi man mano che i dati crescono.
Evita formule dinamiche dentro tabelle strutturate: poiché le tabelle di Excel non supportano lo spill, usa sempre le formule con array dinamici fuori dalle tabelle o converti la tabella in un intervallo normale se devi usare tali formule.
Usa @ quando ti serve un solo risultato: se ti serve un singolo valore da una formula che potrebbe espandersi, anteponi l’operatore @.
Documenta la logica del layout con commenti o colori delle celle: usa note, commenti o colori di riempimento per indicare visivamente le aree riservate alle formule dinamiche. Questo aiuta gli altri a capire come dovrebbe funzionare il foglio quando condividi le tue cartelle di lavoro.
Pulisci regolarmente i fogli per evitare ostruzioni invisibili: rimuovi formattazioni inutilizzate, formule con stringhe vuote ("") e spazi fantasma. Usa “Cancella tutto” invece di “Elimina” per ripristinare davvero le celle nell’intervallo di spill.
Riepilogo: cosa ricordare
#SPILL! si verifica quando una formula prova a restituire più valori ma qualcosa blocca l’intervallo di output. Più che un fastidio, questo errore aiuta a evidenziare problemi di layout o della formula stessa. Gli strumenti integrati di Excel, come l’icona di errore e l’opzione Seleziona Celle ostruenti, semplificano l’identificazione e la correzione dei problemi. Pianificando il layout tenendo conto degli array dinamici, puoi evitare errori futuri e creare fogli di calcolo più puliti ed efficienti. In molti casi, l’errore #SPILL! è una funzione utile, perché rende visibili potenziali problemi e incoraggia una migliore progettazione dei fogli.
Technical writer di Data Science con esperienza pratica in data analytics, business intelligence e data science. Scrivo contenuti pratici e orientati al settore su SQL, Python, Power BI, Databricks e data engineering, basati su lavoro di analytics reale. La mia scrittura unisce profondità tecnica e impatto sul business, aiutando i professionisti a trasformare i dati in decisioni sicure.
Domande frequenti
Cosa significa l’errore #SPILL! in Excel?⌄
L’errore #SPILL! significa che una formula sta cercando di restituire più valori, ma qualcosa ne blocca l’output.
Come trovo cosa sta bloccando lo spill?⌄
Fai clic sull’icona di errore e scegli “Seleziona Celle ostruenti” per evidenziare il problema.
Come risolvo rapidamente un errore #SPILL!?⌄
Pulisci le celle che ostruiscono o sposta la formula in un’area libera.
Come posso prevenire in futuro gli errori #SPILL!?⌄
Lascia spazio sufficiente agli array dinamici, evita le tabelle e mantieni liberi gli intervalli di spill.
Perché l’errore #SPILL! è in realtà utile?⌄
Evidenzia problemi di layout o di formula, facilitando l’individuazione e la correzione precoce dei problemi nel foglio.
Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Acquisisci le competenze essenziali per utilizzare Excel, dalla preparazione dei dati alla scrittura di formule e alla creazione di visualizzazioni. Non è richiesta alcuna esperienza precedente.
L’errore
#SPILL!in Excel è una conseguenza diretta della potente funzionalità degli array dinamici introdotta in Excel 365. Anche se a prima vista può sembrare frustrante, in realtà è un segnale utile che qualcosa, spesso un blocco in una cella, sta impedendo alla tua formula di visualizzare tutti i risultati previsti.Gli array dinamici permettono alle formule di restituire automaticamente più valori nelle celle adiacenti, ma introducono anche nuovi comportamenti e, con essi, nuove tipologie di errori. Piuttosto che vedere
#SPILL!come un ostacolo, consideralo un’opportunità per perfezionare la logica, il layout e l’efficienza del tuo foglio di calcolo.In questa guida spiegherò le diverse cause dell’errore
#SPILL!e come eseguire la diagnosi con esempi pratici. Se stai muovendo i primi passi in Excel, il nostro corso Introduction to Excel copre competenze essenziali come muoversi nell’interfaccia, comprendere i formati dei dati e lavorare con funzioni di base.Cos’è l’errore Spill in Excel?
L’errore
#SPILL!in Excel indica che una formula sta cercando di restituire più valori, ma qualcosa sta impedendo ai risultati di “spandersi” nell’intervallo di celle necessario. Questo concetto deriva dalla funzionalità degli array dinamici di Excel 365, in cui una singola formula può popolare automaticamente i risultati in più celle adiacenti, note come intervallo di spill.Immaginalo come versare acqua in una fila di bicchieri vuoti: se alcuni bicchieri sono già pieni (le celle contengono già dati o sono bloccate), l’acqua non può scorrere correttamente ed Excel mostra un errore
#SPILL!per avvisarti. È un grande cambiamento rispetto alle versioni precedenti di Excel, che usavano la cosiddetta intersezione implicita, restituendo un solo valore da una formula anche se faceva riferimento a un intervallo. Con gli array dinamici, Excel è più intelligente e potente, ma richiede anche maggiore attenzione a ciò che accade nelle celle circostanti.Cause comuni dell’errore #SPILL!
L’errore
#SPILL!può comparire per vari motivi, e comprenderne la causa alla radice aiuta a risolverlo rapidamente. Di seguito trovi le cause più comuni, con esempi pratici e come riconoscerle o risolverle.Celle unite
Se una qualsiasi cella nell’intervallo di spill è unita, la formula non può espandersi. Nell’esempio seguente compare l’errore
#SPILL!perché le celle “B3” e “C3” sono unite e la formula non può espandersi in “B3”.Array dinamici all’interno di tabelle
Le formule con array dinamici non funzionano all’interno delle Tabelle di Excel create con Ctrl + T. Il loro formato di riferimenti strutturati è in conflitto con il comportamento di spill. Nell’esempio seguente, Excel restituirà un errore
#SPILL!perché gli array dinamici non possono espandersi all’interno di una tabella.Intervallo di spill ostruito
Le cause più comuni dell’errore
#SPILL!sono elementi che bloccano, visibilmente o meno, le celle in cui la formula vuole espandersi. Le ostruzioni visibili includono dati, formule o testo già presenti nelle celle di destinazione. Nell’esempio seguente, l’errore#SPILL!si verifica perché la cella “B4” contiene già dei dati.Le ostruzioni invisibili possono essere stringhe vuote (""), spazi o formattazioni nascoste. In questi casi, Excel delinea l’area di spill prevista con un bordo tratteggiato e mostra un’icona di errore su cui puoi fare clic per i dettagli.
Errori di sintassi o problemi di collegamento cartella di lavoro
Sintassi di formula non corretta o collegamenti interrotti a cartelle di lavoro esterne possono anch’essi generare l’errore
#SPILL!.Dimensione della formula sconosciuta o troppo grande
Otterrai un errore
#SPILL!se usi formule che generano array molto grandi, come=RANDARRAY(1000000,1)o formule che fanno riferimento a intere colonne come=A:A. Queste formule possono superare i limiti di righe o colonne di Excel, oppure Excel può esaurire la memoria durante l’elaborazione dell’array.Come risolvere un errore #SPILL! passo dopo passo
Risolvere un errore
#SPILL!in Excel può essere rapido se segui un approccio strutturato. Ecco una guida passo passo per identificare e correggere il problema.Passo 1: individua la causa
Inizia facendo clic sull’icona di avviso accanto alla cella con
#SPILL!. Se compare l’opzione Seleziona Celle ostruenti, usala per evidenziare esattamente le celle che bloccano lo spill.Passo 2: libera l’intervallo di spill
Se la formula è bloccata da altro contenuto:
Passo 3: separa le celle unite o sposta la formula
Se le celle unite bloccano lo spill:
Per centrare visivamente il testo senza unire le celle, usa Centra tra selezione in Formato celle > Allineamento.
In alternativa, sposta la formula in un’area senza celle unite per evitare l’errore
#SPILL!.Passo 4: adatta i layout delle tabelle
Dato che gli array dinamici non funzionano all’interno delle Tabelle di Excel:
Ti consiglio di pianificare le formule con array dinamici in aree lontane dalle Tabelle di Excel quando possibile.
Passo 5: usa l’operatore @ per un singolo valore
Puoi usare l’operatore
@per ottenere un solo valore da una formula dinamica (non un intervallo di spill). Ad esempio, la formula=@A2:A10restituisce solo il primo elemento (A1).Invece,
=A2:A10espande i risultati in altre celle per restituire l’intero intervallo.Passo 6: prova le formule in aree vuote
Se non ti è ancora chiaro cosa stia causando il problema, copia la formula in una parte completamente vuota del foglio. Questo approccio aiuta a capire se l’errore dipende dalla formula stessa o da ostruzioni nelle celle circostanti.
Esempi di troubleshooting
Ora che abbiamo visto come risolvere l’errore
#SPILL!in Excel, di seguito trovi esempi pratici di diagnosi usando funzioni comuni di Excel e array dinamici.VLOOKUP() restituisce un errore #SPILL!
Potresti pensare che VLOOKUP() restituisca sempre un singolo valore, ma se abbinata a un intervallo di valori di ricerca come
A2:A10, prova a produrre più risultati su molte righe.Nell’esempio seguente, Excel prova a restituire 10 valori (uno per ogni ricerca), ma compare un errore
#SPILL!perché le celle sotto la formula non sono vuote.Per risolvere, assicurati che l’intervallo di destinazione (in questo caso, le 10 righe successive) sia vuoto, poi riapplica la formula.
Esempi con FILTER(), INDEX()-MATCH() e IF()
Formule abilitate agli array dinamici come
FILTER(), INDEX MATCH, eIF()possono generare più risultati a seconda della logica e dei riferimenti. Una pianificazione carente del layout porta spesso a#SPILL!.Considera l’esempio seguente “Corrispondenza di attributi tra colonne”. La formula seguente restituisce tutte le righe della colonna A in cui coincidono "Red" e "Large". Se l’intervallo di spill è bloccato, otterrai un errore
#SPILL!.Allo stesso modo, puoi usare il set di funzioni
INDEX()-MATCH()per restituire più risultati di ricerca per un intervallo di input. Ma se l’intervallo di spill sotto la formula è bloccato o disallineato, non potrà espandersi.Valuta l’uso di
LET()eSEQUENCE()per chiarezza e controllo. Ad esempio, nella formula seguente,FILTER()produce un elenco in spill, maTEXTJOIN()lo comprime in un’unica cella, quindi non serve lo spill. È un buon modello quando vuoi risultati dinamici ma evitare#SPILL!.Buone pratiche per prevenire gli errori di spill
Per ridurre le probabilità di incontrare errori
#SPILL!, è importante considerare le seguenti buone pratiche quando progetti e mantieni le tue cartelle di lavoro Excel:Lascia spazio all’espansione degli array dinamici: Assicurati sempre che ci sia spazio vuoto sufficiente sotto e a destra del punto in cui una formula con array dinamico potrebbe espandersi man mano che i dati crescono.
Evita formule dinamiche dentro tabelle strutturate: poiché le tabelle di Excel non supportano lo spill, usa sempre le formule con array dinamici fuori dalle tabelle o converti la tabella in un intervallo normale se devi usare tali formule.
Usa @ quando ti serve un solo risultato: se ti serve un singolo valore da una formula che potrebbe espandersi, anteponi l’operatore
@.Documenta la logica del layout con commenti o colori delle celle: usa note, commenti o colori di riempimento per indicare visivamente le aree riservate alle formule dinamiche. Questo aiuta gli altri a capire come dovrebbe funzionare il foglio quando condividi le tue cartelle di lavoro.
Pulisci regolarmente i fogli per evitare ostruzioni invisibili: rimuovi formattazioni inutilizzate, formule con stringhe vuote (
"") e spazi fantasma. Usa “Cancella tutto” invece di “Elimina” per ripristinare davvero le celle nell’intervallo di spill.Riepilogo: cosa ricordare
#SPILL!si verifica quando una formula prova a restituire più valori ma qualcosa blocca l’intervallo di output. Più che un fastidio, questo errore aiuta a evidenziare problemi di layout o della formula stessa. Gli strumenti integrati di Excel, come l’icona di errore e l’opzione Seleziona Celle ostruenti, semplificano l’identificazione e la correzione dei problemi. Pianificando il layout tenendo conto degli array dinamici, puoi evitare errori futuri e creare fogli di calcolo più puliti ed efficienti. In molti casi, l’errore#SPILL!è una funzione utile, perché rende visibili potenziali problemi e incoraggia una migliore progettazione dei fogli.Ti consiglio di seguire il nostro corso Data Analysis in Excel per imparare a generare insight, e il nostro percorso di competenze Excel Fundamentals per conoscere meglio le funzioni disponibili nelle versioni più recenti di Excel. Il nostro corso Advanced Excel Functions è anche perfetto per approfondire riferimenti avanzati e ricerche, come ho iniziato a mostrare in questo articolo.