Migliaia di licenze consegnate

Errore #SPILL! di Excel: come risolvere

MBMira Bakker· Specialista MicrosoftUltimo aggiornamento: 12 luglio 2026· 8 min di lettura
Risposta rapida

L'errore SPILL di Excel significa che una formula a matrice dinamica non può visualizzare il risultato perché l'area di espansione è occupata. Fai clic sul triangolino dell'errore, scegli Seleziona celle problematiche e svuota la cella bloccante. Rimuovi anche le celle unite e posiziona la formula al di fuori di una tabella Ctrl+T.

Un portatile bianco su un tavolo vicino a una finestra, sullo schermo una foto del Pont Alexandre III a Parigi di sera e un riquadro meteo che segna 10 gradi

Da quando Excel supporta le matrici dinamiche (Microsoft 365 ed Excel 2021 e versioni successive), una sola formula può restituire più risultati che si distribuiscono automaticamente nelle celle circostanti. Questa distribuzione si chiama spill (espansione). Se ciò non riesce, appare l'errore #SPILL! e il resto del calcolo rimane vuoto. In questa guida leggi esattamente perché succede e come risolverlo in ogni situazione.

Cosa significa l'errore #SPILL!?

L'errore #SPILL! compare quando una formula produce più valori, ma l'area in cui quei valori dovrebbero collocarsi non è completamente vuota. Excel chiama quell'area intervallo di espansione.

Un esempio concreto. Se nella cella D2 inserisci la formula =A2:A100, Excel vorrebbe posizionare 99 valori da D2 a D100. Se in D50 c'è già qualcosa, la formula non può espandersi completamente e D2 mostra #SPILL! invece dell'elenco di numeri.

Facendo clic sulla cella di errore, Excel disegna un bordo blu tratteggiato attorno all'area dove i valori avrebbero dovuto apparire. Così vedi subito quanto è grande l'intervallo di espansione e dove si trova il blocco. Il messaggio di errore, quindi, non è un bug della formula, ma un conflitto con qualcosa che occupa lo spazio.

È importante sapere che solo la prima cella dell'intervallo contiene la formula vera e propria. Le altre celle sono una copia di quella formula e si riconoscono dalla visualizzazione in grigio chiaro nella barra della formula. Se elimini la cella in alto a sinistra, scompare l'intero intervallo. Questo comportamento spiega perché puoi modificare una formula espansa solo nell'angolo in alto a sinistra.

L'errore si verifica appena Excel calcola la formula, quindi subito dopo averla inserita o dopo una modifica nei dati di origine. Se l'elenco cresce e la matrice si scontra con una cella che prima era libera, una formula funzionante si trasforma in #SPILL!. Questo rende l'errore difficile da riprodurre: il file funzionava ieri, ma oggi qualcuno ha inserito un'annotazione sotto la formula.

Scrivania bianca su cavalletti in una stanza chiara, con un solo computer tutto in uno, una lampada da tavolo e una poltroncina grigia di fianco
Una formula a matrice dinamica riempie più celle contemporaneamente; se lo spazio è occupato, appare #SPILL!.

Funzioni che causano lo spill

Alcune funzioni causano di gran lunga la maggior parte degli errori di espansione.

  • FILTRO restituisce tutte le righe che soddisfano una condizione. Il numero di righe varia con i dati, quindi l'intervallo di espansione cresce e si restringe.
  • UNICI estrae i valori univoci da un elenco. Con nuove categorie, il risultato si allunga.
  • ORDINA e ORDINA.PER restituiscono un intero elenco ordinato.
  • SEQUENZA genera una sequenza di numeri, ad esempio =SEQUENZA(10) per i numeri da 1 a 10.
  • CERCA.X può restituire più colonne contemporaneamente e si espande verso destra.

Poiché il risultato di queste funzioni non è noto in anticipo, è più difficile mantenere spazio sufficiente. Ecco perché spesso si scontrano con una cella occupata. Chi utilizza regolarmente formule di ricerca che restituiscono una matrice trova in CERCA.VERT vs CERCA.X una spiegazione di quando CERCA.X restituisce un intero intervallo.

Rimuovere una cella bloccante risolve la stragrande maggioranza dei casi

La causa più comune è semplice: c'è qualcosa nell'intervallo di espansione. Excel ti aiuta a trovare quella cella immediatamente.

  1. Seleziona la cella con il messaggio #SPILL!.
  2. Fai clic sul triangolino giallo di avviso che compare a sinistra della cella.
  3. Scegli nel menu Seleziona celle problematiche. Excel passa direttamente alla cella o alle celle che bloccano l'espansione.
  4. Elimina o sposta il contenuto di quelle celle. Non appena l'intervallo è vuoto, la formula si popola automaticamente.

Attenzione ai contenuti invisibili. Uno spazio, un'interruzione di riga manuale o una cella con testo bianco conta come occupata. Se hai dubbi, seleziona l'intero intervallo di espansione e premi Elimina prima di reinserire la formula.

A volte il blocco non è nel testo semplice ma nella formattazione, come una cella che prima conteneva una formula e ora restituisce una stringa vuota (""). Una cella del genere appare vuota ma non è considerata tale. Verificalo con la funzione =VAL.VUOTO(D50): se restituisce FALSO, allora c'è qualcosa che devi prima rimuovere.

Ogni errore #SPILL! rientra in una di queste sei cause

Motivo nel messaggioCosa succedeSoluzione
Intervallo di espansione non vuotoUna cella nell'intervallo contiene testo, un numero o spaziSvuota la cella bloccante o sposta la formula
Intervallo di espansione fuori dal foglio di lavoroSpesso un riferimento a un'intera colonna, come =A:AFai riferimento a un intervallo concreto, ad esempio A1:A1000
Intervallo di espansione in una tabellaLe matrici dinamiche non funzionano all'interno di una tabella Ctrl+TConverti la tabella in intervallo o posiziona la formula all'esterno
Intervallo di espansione contiene celle uniteUna matrice non può espandersi in celle uniteAnnulla l'unione delle celle
Intervallo di espansione sconosciutoLa dimensione varia a causa di una funzione volatile come CASUALEEvita la funzione volatile o stabilizza la dimensione
Intervallo di espansione troppo grandeExcel non ha memoria sufficiente per il risultatoLimita l'intervallo o suddividi il calcolo

Intervallo di espansione fuori dal foglio di lavoro

Un errore comune è applicare una funzione dinamica a un'intera colonna. Prendi =UNICI(A:A) nella cella C1. Excel vorrebbe posizionare i valori univoci sotto C1, ma poiché l'origine è composta da oltre un milione di righe, il risultato supererebbe l'ultima riga del foglio di lavoro. Non è possibile, e quindi appare #SPILL! con il messaggio che l'intervallo è fuori dal foglio.

La soluzione è usare un intervallo limitato. Se sai che i dati arrivano fino alla riga 5000, scrivi:

=UNICI(A2:A5000)

Se vuoi comunque lavorare con l'intera colonna in modo che nuove righe vengano incluse automaticamente, trasforma i dati di origine in una tabella Excel (Ctrl+T) e fai riferimento alla colonna della tabella. Quest'ultima cresce solo fino all'ultima riga popolata e non fino alla fine del foglio, evitando così l'errore.

Celle unite e tabelle Excel bloccano sempre l'espansione

Due cause dalla tabella sono così comuni da meritare un trattamento separato.

Celle unite. Una formula espansa non può scrivere in una cella unita. Seleziona l'intervallo di espansione, vai alla scheda Home e disattiva il pulsante Unisci e allinea al centro. Se vuoi mantenere l'aspetto visivo, usa Formato celle (Ctrl+1) con l'allineamento Centra in selezione invece di unire. Così ottieni l'aspetto centrato senza unire fisicamente le celle.

Tabelle Excel. All'interno di una tabella creata con Ctrl+T, una formula a matrice dinamica non può espandersi. Hai due opzioni: fai clic nella tabella, vai a Struttura tabella e scegli Converti in intervallo, oppure posiziona la formula della matrice in una cella esterna alla tabella. Non inserire la formula in una colonna della tabella se prevedi più risultati. Una tabella va benissimo come origine per una formula espansa, ma non come posizione in cui il risultato deve andare.

Scrivania davanti a un'alta vetrata con i palazzi sullo sfondo: un iMac, un portatile aperto, un'orchidea in vaso bianco, una piccola stampa incorniciata e una bottiglia d'acqua
Celle unite e tabelle Ctrl+T sono i due classici blocchi per un intervallo di espansione.

Con il simbolo @ ottieni un solo valore, con # fai riferimento all'intero intervallo

A volte non vuoi l'espansione. Il simbolo @ (operatore di intersezione implicita) limita una formula a un singolo valore. Mettendo @ prima del riferimento, Excel prende solo il valore sulla stessa riga:

=@A2:A100

Questo approccio è utile se vuoi emulare il comportamento non espanso delle versioni precedenti di Excel, ad esempio quando converti un file esistente in cui la formula doveva restituire un risultato per riga.

Viceversa, puoi riferirti a un intervallo di espansione riuscito con un unico riferimento, il cancelletto. Se la tua matrice si trova in D2, D2# fa riferimento all'intero intervallo riempito dalla formula. Utile per calcoli successivi che crescono automaticamente:

=SOMMA(D2#)
=CONTA.NUMERI(D2#)

Se in seguito aggiungi righe all'origine, anche la somma si aggiorna, senza dover regolare l'intervallo. Questo riferimento di espansione funziona anche in grafici e convalida dati, cosicché un elenco a discesa mostra automaticamente gli elementi più recenti.

Ripristinare una formula FILTRO mostra l'approccio nella pratica

Prendi un caso concreto. Nella cella F2 c'è =FILTRO(A2:C500; B2:B500="Nord") per mostrare tutte le righe della regione Nord. La formula restituisce #SPILL! perché nelle colonne G e H, all'interno dell'intervallo di espansione, ci sono ancora vecchie annotazioni.

  1. Fai clic su F2 e poi sul triangolino giallo; scegli Seleziona celle problematiche. Excel seleziona le celle piene in G e H.
  2. Sposta quelle annotazioni in un'area libera più a destra, ad esempio la colonna M.
  3. Non appena l'intervallo è libero, FILTRO restituisce tutte le righe Nord a partire da F2 verso destra e in basso.

Se temi che il risultato sia troppo grande, conta prima quante righe soddisfano la condizione con =CONTA.SE(B2:B500; "Nord"). Sapendo il numero, puoi riservare esattamente il numero di righe vuote sotto F2 ed evitare il ripetersi dell'errore.

Tenere spazio libero previene #SPILL! prima che compaia

Il modo più semplice per prevenire l'errore è organizzare il foglio in modo che le formule a matrice abbiano sempre spazio.

  • Assegna a ogni formula espansa una propria colonna e mantieni le celle sottostanti vuote.
  • Riserva almeno tante righe vuote quante ne conta l'intervallo di origine.
  • Non fare riferimento a intere colonne (A:A) accanto a una formula espansa; usa un intervallo delimitato o una colonna di tabella.
  • Evita funzioni volatili all'interno di una matrice se la dimensione deve rimanere fissa.
  • Non posizionare più formule espanse una sotto l'altra; lascia spazio per la variante più lunga.
  • Assicurati che i colleghi con cui condividi il file non digitino nell'intervallo di espansione; una breve istruzione o una marcatura colorata sotto la formula può aiutare.

Se ricevi un messaggio di errore che sembra un problema di riferimento anziché di spazio, consulta la procedura in Risolvere l'errore #RIF! di Excel: cause e soluzioni. Per maggiori informazioni sull'intervallo di espansione e i messaggi esatti, consulta la documentazione ufficiale Microsoft.

Domande frequenti

L'errore #SPILL! indica che una formula restituisce più risultati, ma l'intervallo di espansione non è vuoto. Excel non riesce a posizionare i valori e mostra quindi il messaggio. Svuota le celle bloccanti per consentire alla matrice di espandersi.

Seleziona la cella di errore e fai clic sul triangolino giallo. Scegli Seleziona celle problematiche. Excel salta direttamente alla cella o alle celle che ostacolano, così puoi rimuovere o spostare il contenuto.

Le formule a matrice dinamica non possono espandersi all'interno di una tabella creata con Ctrl+T. Converti la tabella in un intervallo normale tramite Struttura tabella, oppure posiziona la formula in una cella esterna alla tabella.

Il simbolo @ è l'operatore di intersezione implicita e forza una formula a restituire un solo valore. Con =@A2:A100 eviti completamente l'espansione, utile per file provenienti da versioni precedenti di Excel.

L'errore è legato alle matrici dinamiche, disponibili da Microsoft 365 ed Excel 2021. In Excel 2019 e versioni precedenti l'espansione non esiste e quindi non vedrai questo messaggio; lì si usano formule a matrice classiche con Ctrl+Maiusc+Invio.

Un riferimento a un'intera colonna fa sì che l'intervallo di espansione superi l'ultima riga del foglio, il che non è possibile. Usa un intervallo limitato come A2:A5000, oppure trasforma i dati in una tabella Excel e fai riferimento alla colonna della tabella, che comprende solo le righe popolate.

Articoli correlati

MB
Mira Bakker
Specialista Microsoft

Mira supporta le aziende nelle implementazioni di Windows e Office e risolve quotidianamente problemi di attivazione, licenze e codici di errore.

Vai al profilo
Cerchi una licenza per questo software?
Scopri la collezione di Liceon. Consegna immediata, licenze originali.
Scopri la collezione