Sommario
Questa breve esercitazione spiega le basi dei riferimenti circolari di Excel e perché bisogna guardarsi dall'usarli. Imparerete anche come controllare, trovare e rimuovere i riferimenti circolari nei fogli di lavoro di Excel e, se nessuno dei precedenti è possibile, come attivare e utilizzare le formule circolari.
Avete provato a inserire una formula nel vostro foglio di Excel, ma per qualche motivo non funziona, anzi, vi dice qualcosa su un riferimento circolare E' così che sei finito su questa pagina? :)
Migliaia di utenti si trovano quotidianamente ad affrontare lo stesso problema, semplicemente perché una formula di Excel è costretta a calcolare la propria cella. Quando si tenta di farlo, Excel visualizza il seguente messaggio di errore:
"Attenzione, abbiamo trovato uno o più riferimenti circolari nella cartella di lavoro che potrebbero causare un calcolo errato della formula".
In parole povere, quello che Excel sta cercando di dire è questo: "Ehi, potrei rimanere bloccato alla rotatoria, sei sicuro che vuoi che proceda comunque?".
Come si può capire, i riferimenti circolari in Excel sono fastidiosi e il buon senso dice di evitarli ogni volta che è possibile. Tuttavia, ci possono essere alcuni rari casi in cui un riferimento circolare in Excel è l'unica soluzione possibile per il compito che si deve affrontare.
Che cos'è un riferimento circolare in Excel?
Ecco una definizione molto diretta e concisa di una riferimento circolare fornito da Microsoft:
" Quando una formula di Excel rimanda alla propria cella, direttamente o indirettamente, crea un riferimento circolare. "
Ad esempio, se si seleziona la cella A1 e si digita =A1
L'inserimento di qualsiasi altra formula o calcolo che faccia riferimento ad A1 avrà lo stesso effetto, ad esempio =A1*5
o =IF(A1=1, "OK")
.
Non appena si preme Invio per completare la formula, viene visualizzato il seguente messaggio di avviso:
Perché Microsoft Excel vi avverte? Perché i riferimenti circolari di Excel possono iterare all'infinito creando un ciclo infinito, rallentando così in modo significativo i calcoli della cartella di lavoro.
Una volta ricevuto l'avviso di cui sopra, è possibile fare clic su Aiuto per ulteriori informazioni, oppure chiudere la finestra del messaggio facendo clic su OK o sul pulsante con la crocetta. Quando si chiude la finestra del messaggio, Excel visualizza un messaggio zero (0) o il ultimo valore calcolato In alcuni casi, una formula con un riferimento circolare può essere completata con successo prima di tentare di calcolare se stessa; in tal caso, Microsoft Excel restituisce il valore dell'ultimo calcolo riuscito.
Nota: in molti casi, quando si inserisce più di una formula con un riferimento circolare, Excel non visualizza ripetutamente il messaggio di avviso.
Ma perché mai si dovrebbe creare una formula così stupida che non fa altro che causare problemi inutili? Certo, nessun utente sano di mente vorrebbe mai inserire intenzionalmente una formula circolare come quella sopra riportata. Tuttavia, può capitare di creare accidentalmente un riferimento circolare nel proprio foglio Excel, ed ecco uno scenario molto comune.
Supponiamo di voler sommare i valori della colonna A con la solita formula SOMMA e di includere inavvertitamente la cella del totale (B6 in questo esempio).
Se i riferimenti circolari non sono consentiti in Excel (e sono disattivati per impostazione predefinita), verrà visualizzato un messaggio di errore di cui abbiamo parlato poco fa. Se i calcoli iterativi sono attivati, la formula circolare restituirà 0 come nella seguente schermata:
In alcuni casi, nel foglio di calcolo possono comparire all'improvviso una o più frecce blu, per cui si potrebbe pensare che Excel sia impazzito e stia per bloccarsi.
In realtà, quelle frecce non sono altro che Tracce precedenti o Rintracciare i dipendenti che indicano le celle che influenzano o sono influenzate dalla cella attiva. Più avanti si vedrà come mostrare e nascondere queste frecce.
A questo punto si potrebbe avere l'impressione che i riferimenti circolari di Excel siano una cosa inutile e pericolosa e ci si potrebbe chiedere perché Excel non li abbia vietati del tutto. Come già detto, ci sono alcuni casi molto rari in cui l'uso di un riferimento circolare in Excel può essere giustificato perché fornisce una soluzione più breve ed elegante, se non l'unica possibile. L'esempio seguente ne è la dimostrazioneuna formula.
Utilizzo di un riferimento circolare in Excel - esempio di formula
In una delle nostre precedenti esercitazioni, abbiamo discusso come inserire la data odierna in Excel. E la stragrande maggioranza delle domande postate nei commenti riguardava il modo in cui inserire una data di oggi. timestamp in Excel senza che cambi ogni volta che il foglio di lavoro viene riaperto o ricalcolato. Ho esitato molto a rispondere a questi commenti perché l'unica soluzione che conosco coinvolge i riferimenti circolari, che devono essere trattati con attenzione. Comunque, ecco uno scenario molto comune...
Supponiamo di avere un elenco di articoli nella colonna A e di inserire lo stato di consegna nella colonna B. Non appena si digita " Sì " nella colonna B, si desidera che la data e l'ora attuali vengano inserite automaticamente nella stessa riga della colonna C come una timestamp statico immutabile .
L'uso di una banale formula NOW() non è possibile perché questa funzione di Excel è volatile, cioè aggiorna il suo valore ogni volta che il foglio di lavoro viene riaperto o ricalcolato. Una possibile soluzione è l'uso di funzioni IF annidate con un riferimento circolare nel secondo IF:
=IF(B2="sì", IF(C2="" ,NOW(), C2), "")
Dove B2 è lo stato di consegna e C2 è la cella in cui si desidera che appaia il timestamp.
Nella formula precedente, la prima funzione IF controlla la cella B2 per " Sì " (o qualsiasi altro testo fornito alla formula) e se il testo specificato è presente, esegue il secondo IF, altrimenti restituisce una stringa vuota. La seconda funzione IF è una formula circolare che recupera il giorno e l'ora correnti se C2 non ha già un valore, salvando così tutte le marche temporali esistenti.
Nota: affinché questa formula circolare di Excel funzioni, è necessario consentire i calcoli iterativi nel foglio di lavoro.
Come attivare/disattivare i riferimenti circolari in Excel
Come già notato in precedenza, calcoli iterativi sono solitamente disattivate in Excel per impostazione predefinita (in questo contesto, l'iterazione è il ricalcolo ripetuto fino a quando non viene soddisfatta una specifica condizione numerica). Affinché le formule circolari funzionino, è necessario attivare i calcoli iterativi nella cartella di lavoro di Excel.
In Excel 2019 , Excel 2016 , Excel 2013 , e Excel 2010 , fare clic su File > Opzioni , vai a Formule e selezionare l'opzione Abilita il calcolo iterativo sotto la casella di controllo Opzioni di calcolo sezione.
In Excel 2007, fare clic su Pulsante dell'ufficio > Opzioni di Excel > Formule > Area di iterazione .
In Excel 2003 e precedenti, l'opzione Calcolo iterativo risiede sotto la voce Menu > Strumenti > Opzioni > Calcolo scheda.
Quando si attivano i calcoli iterativi, è necessario specificare le due opzioni seguenti:
- Iterazioni massime box - specifica quante volte la formula deve essere ricalcolata. Più alto è il numero di iterazioni, più tempo richiede il calcolo.
- Variazione massima box - specifica la variazione massima tra i risultati del calcolo. Più piccolo è il numero, più preciso è il risultato ottenuto e più tempo impiega Excel per calcolare il foglio di lavoro.
Le impostazioni predefinite sono 100 per Iterazioni massime e 0,001 per Variazione massima Significa che Microsoft Excel smetterà di calcolare la formula circolare dopo 100 iterazioni o dopo una variazione inferiore a 0,001 tra le iterazioni, a seconda di quale sia la prima.
Perché evitare di usare riferimenti circolari in Excel
Come già sapete, l'uso di riferimenti circolari in Excel è un approccio scivoloso e sconsigliato. Oltre a problemi di prestazioni e a un messaggio di avvertimento visualizzato a ogni apertura di una cartella di lavoro (a meno che non siano attivi calcoli iterativi), i riferimenti circolari possono portare a una serie di altri problemi, che non sono immediatamente visibili.
Ad esempio, se si seleziona una cella con un riferimento circolare e si passa accidentalmente alla modalità di modifica della formula (premendo F2 o facendo doppio clic sulla cella) e poi si preme Invio senza apportare alcuna modifica alla formula, questa restituirà zero.
Ecco quindi un consiglio di molti autorevoli guru di Excel: cercate di evitare, quando possibile, i riferimenti circolari nei vostri fogli.
Come trovare i riferimenti circolari in Excel
Per verificare la presenza di riferimenti circolari nella cartella di lavoro di Excel, eseguire le seguenti operazioni:
- Vai al sito Formule fare clic sulla freccia accanto a Controllo degli errori e puntare a Riferimenti circolari Viene visualizzato l'ultimo riferimento circolare inserito.
- Fare clic sulla cella elencata sotto Riferimenti circolari ed Excel vi porterà esattamente a quella cella.
Non appena si esegue questa operazione, la barra di stato segnala la presenza di riferimenti circolari nella cartella di lavoro e visualizza l'indirizzo di una di queste celle:
Se si trovano riferimenti circolari in altri fogli, nella barra di stato viene visualizzato solo " Riferimenti circolari " senza indirizzo di cella.
Nota: questa funzione è disattivata quando l'opzione Calcolo iterativo è attivata, pertanto è necessario disattivarla prima di iniziare a controllare la presenza di riferimenti circolari nella cartella di lavoro.
Come rimuovere i riferimenti circolari in Excel
Purtroppo, in Excel non esiste un meccanismo che consenta di eliminare tutte le formule circolari in una cartella di lavoro con un semplice clic. Per eliminarle, dovrete ispezionare ogni riferimento circolare individualmente eseguendo i passaggi sopra descritti e quindi rimuovere completamente una determinata formula circolare o sostituirla con una o più formule semplici.
Come tracciare le relazioni tra formule e celle
Nei casi in cui un riferimento circolare di Excel non sia evidente, il Tracce precedenti e Rintracciare i dipendenti Le funzioni possono fornire un indizio disegnando una o più linee che mostrano quali celle influenzano o sono influenzate dalla cella selezionata.
Per visualizzare le frecce di tracciamento, andare alla voce Formule scheda> Formula di revisione e fare clic su una delle opzioni:
Tracce precedenti - traccia le celle che forniscono dati a una formula, cioè disegna linee che indicano quali celle influenzano la cella selezionata.
Rintracciare i dipendenti - traccia le celle che dipendono dalla cella attiva, cioè disegna linee che indicano quali celle sono influenzate dalla cella selezionata. In altre parole, mostra quali celle contengono formule che fanno riferimento alla cella selezionata.
In alternativa, è possibile utilizzare le seguenti scorciatoie:
- Tracciamento dei precedenti: Alt+T U T
- Traccia dipendenti: Alt+T U D
Per nascondere le frecce, fare clic sul pulsante Rimuovere le frecce che si trova proprio sotto Rintracciare i dipendenti .
Nell'esempio precedente, l'elemento Tracce precedenti La freccia mostra quali celle forniscono direttamente i dati a B6. Come si può vedere, anche la cella B6 è inclusa, il che la rende un riferimento circolare e fa sì che la formula restituisca zero. Naturalmente, questo è facile da risolvere, basta sostituire B6 con B5 nell'argomento di SOMMA: =SOMMA(B2:B5)
Altri riferimenti circolari potrebbero non essere così ovvi e richiedere più riflessione e calcoli.
Questo è il modo in cui si gestiscono i riferimenti circolari di Excel. Spero che questa breve esercitazione abbia fatto luce su questo "punto cieco" e che ora possiate fare ulteriori ricerche per saperne di più. Vi ringrazio per la lettura e vi aspetto sul nostro blog la prossima settimana!