Excel inizia a rallentare quando hai troppe dipendenze di formule nell'albero dei calcoli o quando hai troppe celle con funzioni volatili. Finché questo non accade, puoi tranquillamente riempire tutte le 1.048.576 righe di ogni foglio di lavoro.
Non c'è abbastanza memoria
Excel 2010 a 64 bit e successivi può utilizzare fino a 8 TB di RAM. Si tratta di 500 volte più RAM di quella che ho sul mio portatile di fascia alta, quindi il vostro portafoglio finirà i soldi prima che Excel a 64 bit finisca la sua capacità di usarla.
Microsoft ha aumentato la quantità di memoria disponibile per Excel 2013 a 32 bit e successivi con la patch Large Address Aware nella primavera 2016. Prima di allora, Excel a 32 bit era limitato a 2 GB di RAM. Prima di questa patch, alcune persone che utilizzavano Excel 2016 a 32 bit si lamentavano di errori "troppi formati" o di una risposta lenta su cartelle di lavoro di grandi dimensioni dove non l'avevano visto con le versioni precedenti. Questo perché Excel 2016 include la funzionalità Power BI che era precedentemente opzionale nella versione precedente, consumando così più della RAM disponibile. La patch, che ogni utente di Excel sta usando dall'estate 2016, ha risolto entrambi i problemi e ha dato un aumento significativo alla quantità di memoria disponibile per le vostre cartelle di lavoro. Se usate Windows a 64 bit (la maggior parte dei computer), ora potete usare 4 GB di RAM con Excel a 32 bit. Se avete un computer così vecchio che usa Windows a 32 bit, allora la patch ha ancora aumentato la RAM utilizzabile del 50% a 3 GB.
Dovete anche notare che Excel userà il vostro disco rigido se la quantità di RAM indirizzabile è insufficiente. Quindi, se sentite il vostro disco rigido che gira o vedete la sua luce lampeggiare mentre la vostra cartella di lavoro viene modificata, allora potreste beneficiare di più RAM.
Funzioni volatili
Le celle volatili vengono ricalcolate ogni volta che viene fatta una modifica a qualsiasi cella in qualsiasi cartella di lavoro aperta. Quando si hanno molte celle volatili, l'onere di ricalcolarle causerà un fastidioso ritardo dopo ogni volta che si preme il pulsante Invio. Quante sono troppe? Un migliaio di celle volatili non dovrebbe causare un ritardo notevole nei computer moderni, ma decine di migliaia probabilmente sì. Sapendo questo, cerco di postare formule non volatili quando rispondo alle domande dei forum di aiuto negli ultimi 15 anni. E quando mi viene chiesto un consulto su una cartella di lavoro lenta, le celle volatili sono una delle prime cose che controllo.
Una cella è contrassegnata come volatile se contiene una formula che usa una funzione volatile, anche se quella funzione non viene mai valutata. Le funzioni volatili sono RAND, RANDBETWEEN, INDIRECT, OFFSET, NOW, TODAY, CELL e INFO. Contrariamente alle dichiarazioni di altri, ROWS, COLUMNS, AREAS e SUMIFS non sono volatili. Se vuoi testare se una funzione è volatile, Microsoft Excel MVP Charles Williams ha postato un link alla cartella di lavoro nella sua pagina web sulle funzioni volatili di Excel.
Dovresti essere consapevole che anche le Formattazioni condizionali sono trattate come volatili. Quindi se applichi la formattazione condizionale a decine di migliaia di celle, queste rallenteranno la tua cartella di lavoro.
Albero delle dipendenze
Excel mantiene una lista chiamata albero delle dipendenze che gli dice quali celle devono essere ricalcolate quando altre celle cambiano valore. In Excel 2003 e precedenti, l'albero delle dipendenze aveva una dimensione limitata, e a volte si vedeva CALCULATE nella barra di stato come segno che si cercava di superarlo. Quando vedete CALCULATE, ogni cella viene ricalcolata dopo ogni cambiamento - ovviamente qualcosa che potreste descrivere come "lento". Questi limiti sono stati rimossi in Excel 2007, e non vediamo più CALCULATE così spesso.
Abuso di VLOOKUP
Se la tua cartella di lavoro ha un fantastiliardo di formule VLOOKUP, dovresti sapere che queste vengono ricalcolate ogni volta che una cella della tabella di ricerca cambia. Se state modificando quella tabella di ricerca, il ritardo risultante dopo ogni inserimento può essere fastidioso. Come soluzione, considera di sostituire le tue formule VLOOKUP con INDEX & MATCH. Meglio ancora, metti il MATCH in una colonna ausiliaria. In entrambi i casi, limitate la funzione INDEX a lavorare su una singola colonna, e usate il risultato di MATCH per restituire i valori desiderati.