Formula Excel: come risolvere il problema #SPILL! errore -

Sommario

Sommario

Un errore #SPILL si verifica quando un intervallo di fuoriuscita è bloccato da qualcosa nel foglio di lavoro. La soluzione è solitamente quella di cancellare l'area di fuoriuscita di eventuali dati che ostruiscono. Vedi sotto per ulteriori informazioni e passaggi da risolvere.

Spiegazione

Sul versamento e sul #SPILL! errore

Con l'introduzione degli array dinamici in Excel, le formule che restituiscono più valori "trasferiscono" questi valori direttamente nel foglio di lavoro. Il rettangolo che racchiude i valori è chiamato "intervallo di fuoriuscita". Quando i dati cambiano, l'intervallo di fuoriuscita si espanderà o si contrarrà secondo necessità. Potresti vedere nuovi valori aggiunti o valori esistenti scomparire.

Video: fuoriuscita e area di fuoriuscita

Un errore #SPILL si verifica quando un intervallo di fuoriuscita è bloccato da qualcosa nel foglio di lavoro. A volte questo è previsto. Ad esempio, hai inserito una formula, aspettandoti che si riversi, ma i dati esistenti nel foglio di lavoro sono d'intralcio. La soluzione è solo per cancellare il raggio di fuoriuscita di eventuali dati che ostruiscono.

A volte, tuttavia, l'errore potrebbe essere imprevisto e quindi fonte di confusione. Leggi di seguito come potrebbe essere causato questo errore e cosa puoi fare per risolverlo.

Il comportamento in caso di fuoriuscita è nativo

È importante capire che il comportamento di fuoriuscita è automatico e nativo. In Dynamic Excel (attualmente solo Office 365 Excel) qualsiasi formula, anche una semplice formula senza funzioni, può generare risultati. Sebbene ci siano modi per impedire a una formula di restituire più risultati, la fuoriuscita di se stessa non può essere disabilitata con un'impostazione globale.

Allo stesso modo, in Excel non è disponibile alcuna opzione per "disabilitare gli errori #SPILL. Per correggere un errore #SPILL, dovrai esaminare e risolvere la causa principale del problema.

Correzione n. 1: cancella il raggio di fuoriuscita

Questo è il caso più semplice da risolvere. La formula dovrebbe distribuire più valori, ma invece restituisce #SPILL! perché qualcosa è nel modo. Per risolvere l'errore, seleziona qualsiasi cella nell'intervallo di fuoriuscita in modo da poter vedere i suoi confini. Quindi spostare i dati di blocco in una nuova posizione o eliminare completamente i dati. Tieni presente che le celle nell'intervallo di fuoriuscita devono essere vuote, quindi presta attenzione alle celle che contengono caratteri invisibili, come gli spazi.

Nella schermata seguente, la "x" blocca il raggio di fuoriuscita:

Una volta rimossa la "x", la funzione UNIQUE restituisce normalmente i risultati:

Fix # 2 - aggiungi il carattere @

Prima delle matrici dinamiche, Excel applicava silenziosamente un comportamento denominato "intersezione implicita" per garantire che determinate formule con la possibilità di restituire più risultati restituissero solo un singolo risultato. In Excel con array non dinamico, queste formule restituiscono un risultato dall'aspetto normale senza errori. Tuttavia, in alcuni casi la stessa formula inserita in Dynamic Excel può generare un errore #SPILL. Ad esempio, nella schermata seguente, la cella D5 contiene questa formula, copiata in basso:

=$B$5:$B$10+3

Questa formula non genererebbe un errore, ad esempio Excel 2016, perché l'intersezione implicita impedirebbe alla formula di restituire più risultati. Tuttavia, in Dynamic Excel, la formula restituisce automaticamente più risultati nel foglio di lavoro e che si bloccano l'uno nell'altro, poiché la formula viene copiata da D5: D10.

Una soluzione è usare il carattere @ per abilitare l'intersezione implicita in questo modo:

= @$B$5:$B$10+3

Con questa modifica, ogni formula restituisce nuovamente un singolo risultato e l'errore #SPILL scompare.

Nota: questo spiega in parte perché potresti vedere improvvisamente il carattere "@" apparire nelle formule create nelle versioni precedenti di Excel. Questo viene fatto per mantenere la compatibilità. Poiché le formule nelle versioni precedenti di Excel non possono essere distribuite in più celle, viene aggiunto @ per garantire lo stesso comportamento quando la formula viene aperta in Dynamic Excel.

Fix # 3 - formula di matrice dinamica nativa

Un altro (migliore) modo per correggere l'errore #SPILL mostrato sopra è utilizzare una formula di matrice dinamica nativa in D5 come questa:

=B5:B10+3

In Dynamic Excel, questa singola formula riverserà i risultati nell'intervallo D5: D10, come mostrato nello screenshot qui sotto:

Si noti che non è necessario utilizzare un riferimento assoluto.

Articoli interessanti...