Menu

Riferimento circolare in Excel: come trovarlo e correggerlo

Un riferimento circolare è una formula che fa riferimento alla propria cella, direttamente o tramite altre formule, come =SOMMA(B2:B7) scritta in B7. Excel avvisa, mostra 0 ed elenca la cella in Formule > Controllo errori > Riferimenti circolari.

Ogni foglio di questa pagina è interattivo: cambia un numero o una formula e si ricalcola.

Un riferimento circolare è una formula che fa riferimento alla propria cella, direttamente o tramite altre formule. Scrivere =SOMMA(B2:B7) in B7 ne crea uno: il totale include se stesso. Excel mostra un avviso, mette 0 nella cella e la indica in Formule > Controllo errori > Riferimenti circolari. La correzione è cambiare l'intervallo così che si fermi prima della cella della formula stessa, qui =SOMMA(B2:B6). La tabella mostra le formule in inglese, con SUM al posto di SOMMA, ma puoi scriverle anche in italiano, con il punto e virgola.

B7:  =SUM(B2:B7)    circular: B7 is inside its own range, Excel shows 0
B7:  =SUM(B2:B6)    fixed: the range stops above the total
Un totale che si ferma sopra se stesso
B7
AB
1MonthSales
2Jan120
3Feb95
4Mar140
5Apr110
6May130
7Total595
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =SOMMA(B2:B6)

Fai clic su B7: il riquadro colorato copre B2:B6 e si ferma sopra il totale. È il riferimento circolare più comune in assoluto. Di solito compare quando si inserisce una riga subito sopra un totale e l'intervallo di SOMMA viene allungato a mano di una riga di troppo, oppure quando l'intervallo viene trascinato con il mouse sopra la cella del totale.

Cosa fa Excel con un riferimento circolare

Quando inserisci la formula, Excel mostra un messaggio che dice che sono presenti uno o più riferimenti circolari, in cui una formula fa riferimento alla propria cella in modo diretto o indiretto, e che questo può causare un calcolo errato. Fai clic su OK e la formula resta, mostrando 0 (o l'ultimo valore che aveva). Da quel momento:

  • La barra di stato in fondo alla finestra mostra Riferimenti circolari: B7 (l'indirizzo di una cella del ciclo) finché quel foglio è attivo.
  • Excel non ripete il messaggio mentre continui a lavorare, quindi un riferimento circolare può restare in una cartella di lavoro senza che nessuno se ne accorga, con la barra di stato come unico promemoria.
  • Le altre formule che dipendono dalla cella usano lo 0, quindi i totali successivi sono sbagliati senza alcun errore.

La stessa cartella di lavoro in Google Sheets mostra #RIF! (in inglese #REF!) con la nota "Circular dependency detected" (rilevata una dipendenza circolare).

Come trovare i riferimenti circolari in Excel

  1. Leggi la barra di stato. Indica una cella del foglio attivo. Se dice solo Riferimenti circolari senza indirizzo, il ciclo si trova in un altro foglio.
  2. Vai su Formule > Controllo errori, fai clic sulla piccola freccia accanto e posizionati su Riferimenti circolari. Il sottomenu elenca le celle dei cicli. Fai clic su una per selezionarla.
  3. Con la cella selezionata, usa Formule > Individua precedenti per disegnare frecce dalle celle che legge. Seguile finché una non riporta all'inizio. Rimuovi frecce le cancella.
  4. Su Mac i comandi sono nello stesso posto: la scheda Formule, Controllo errori, poi Riferimenti circolari.

Correggi la cella che l'elenco mostra, poi ricontrolla l'elenco: una cartella di lavoro può avere più cicli, ed Excel elenca il successivo appena il primo è sparito.

Riferimenti circolari indiretti

Un ciclo che passa per due o più celle è più difficile da individuare, perché nessuna formula cita la propria cella.

C2:  =B2*10%      tax on the net price in B2
B2:  =D2-C2       net price = total minus tax
D2:  =B2+C2       total = net plus tax

Ogni formula sembra ragionevole, ma B2 ha bisogno di C2, C2 ha bisogno di B2, e D2 di entrambe. Uno dei tre valori deve essere un dato inserito. Decidi quale numero conosci davvero, scrivilo, e calcola gli altri a partire da lui:

Netto, imposta e totale senza ciclo
C2
ABCD
1ItemNet priceTax (10%)Total
2Desk$240.00$24.00$264.00
3Chair$85.00$8.50$93.50
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =B2*10%

I prezzi netti sono scritti a mano, e imposta e totale vengono da loro: la scrivania costa $264.00 con $24.00 di imposta. Se invece conosci il totale, il prezzo netto è =D2/(1+10%): la formula è risolta rispetto all'incognita, quindi nulla fa riferimento a se stesso.

Percentuale di un totale che include se stesso

Una colonna di quote sul totale diventa circolare quando il totale somma anche la colonna delle quote, o quando la riga del totale si trova dentro l'intervallo per cui le quote dividono.

Quota sul totale
C2
ABC
1RegionSalesShare
2North42042%
3South31031%
4East18018%
5West909%
6Online00%
7Total1000100%
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =B2/$B$7

Ogni quota divide per B7, e B7 somma solo B2:B6. Online non ha venduto nulla, quindi la sua quota è 0%, e C7 somma le quote al 100%. Se B7 fosse stata =SOMMA(B2:B7), oppure =SOMMA(B2:C6), ogni quota avrebbe dipeso da se stessa. Il $ in $B$7 tiene fisso il totale quando la formula viene copiata verso il basso; vedi percentuale.

Un saldo progressivo che punta alla propria riga

Un totale progressivo aggiunge ogni nuovo importo al saldo della riga sopra. Puntare al saldo della stessa riga è un ciclo.

C3:  =C3+B3    circular
C3:  =C2+B3    previous balance plus this row's amount
Saldo progressivo
C3
ABC
1DateAmountBalance
22026-03-01500500
32026-03-04-120380
42026-03-09-80300
52026-03-15250550
62026-03-22-60490
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =C2+B3

Il primo saldo è solo il primo importo; ogni riga successiva aggiunge il suo importo alla riga sopra. Il saldo finisce a 490. Fai clic su C4 e i riquadri colorati mostrano C3 e B4, mai C4 stessa.

Provvigione sull'utile dopo la provvigione

Alcuni riferimenti circolari non sono errori di battitura ma un calcolo che dipende davvero dal proprio risultato: una provvigione del 10% sull'utile, dove l'utile è ciò che resta dopo aver pagato la provvigione.

B5 (commission):  =B6*B4         10% of profit
B6 (profit):      =B2-B3-B5      revenue minus cost minus commission

Attivare il calcolo iterativo (File > Opzioni > Formule > Attiva calcolo iterativo, oppure Excel > Preferenze > Calcolo su Mac) permette a Excel di ripetere il ciclo finché i numeri si stabilizzano. Qui funziona, ma nasconde anche ogni ciclo involontario della cartella di lavoro, e alcuni cicli non si stabilizzano mai. Risolvere l'equazione è meglio. Se la provvigione è il tasso per (ricavi meno costi meno provvigione), allora la provvigione è (ricavi meno costi) per il tasso, diviso (1 + tasso).

Provvigione senza ciclo
B5
AB
1ItemValue
2Revenue$50,000.00
3Cost$30,000.00
4Rate10%
5Commission
6Profit$20,000.00
7Rate of profit$2,000.00
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.

Tocca a te: Scrivi la provvigione in B5 senza fare riferimento a B5 o B6: è il 10% dell'utile dopo la provvigione, cioè (ricavi meno costi) per il tasso, diviso 1 più il tasso.

Quando B5 è giusta, B7 (il 10% dell'utile) è uguale alla provvigione in B5: entrambe mostrano $1,818.18. Quell'uguaglianza è la condizione che la versione circolare cercava di raggiungere.

Domande frequenti

Cos'è un riferimento circolare in Excel?

Una formula che ha bisogno del proprio risultato per calcolarsi. Può fare riferimento alla propria cella, come =SOMMA(B2:B7) in B7, oppure arrivarci tramite altre celle, come A1 =B1+1 con B1 =A1*2. Excel non riesce a finire il calcolo, quindi ti avvisa e mostra 0 o l'ultimo valore.

Come trovo un riferimento circolare in Excel?

Guarda la barra di stato in fondo alla finestra: dice Riferimenti circolari seguito dall'indirizzo di una cella. Oppure vai su Formule > Controllo errori (la freccia accanto) > Riferimenti circolari, che elenca le celle; fai clic su una per raggiungerla.

Perché Excel dice che c'è un riferimento circolare ma non lo trovo?

La barra di stato mostra il riferimento circolare solo per il foglio attivo, quindi passa da un foglio all'altro e controlla Formule > Controllo errori > Riferimenti circolari su ciascuno. Il ciclo può anche passare per un nome definito o per una cella di un altro foglio, quindi usa Individua precedenti dalla cella elencata per seguirlo.

Devo attivare il calcolo iterativo per correggere un riferimento circolare?

Solo quando il ciclo è voluto, come in un modello che converge verso un valore. File > Opzioni > Formule > Attiva calcolo iterativo fa ripetere a Excel il calcolo fino a 100 volte invece di avvisare. Per un ciclo involontario nasconde l'errore, e il risultato può essere sbagliato.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA