Cuprins
Acest scurt tutorial explică elementele de bază ale referințelor circulare din Excel și de ce ar trebui să vă feriți de utilizarea lor. De asemenea, veți învăța cum să verificați, să găsiți și să eliminați referințele circulare din foile de lucru Excel și, dacă niciuna dintre cele de mai sus nu este o opțiune, cum să activați și să utilizați formulele circulare.
Ați încercat să introduceți o formulă în foaia Excel, dar, din anumite motive, nu funcționează. În schimb, vi se spune ceva despre un referință circulară Așa ai ajuns pe această pagină? :)
Mii de utilizatori se confruntă zilnic cu aceeași problemă din simplul motiv că forțează o formulă Excel să calculeze propria celulă. Când încercați să faceți acest lucru, Excel afișează următorul mesaj de eroare:
"Atenție, am găsit una sau mai multe referințe circulare în registrul dvs. de lucru care ar putea cauza calcularea incorectă a formulei dvs.".
Pentru a simplifica, Excel încearcă să spună: "Hei, s-ar putea să rămân blocat în sensul giratoriu. Ești sigur că vrei să continui oricum?".
După cum puteți înțelege, referințele circulare în Excel sunt supărătoare, iar bunul simț spune să le evitați ori de câte ori este posibil. Cu toate acestea, pot exista unele cazuri rare în care o referință circulară Excel este singura soluție posibilă pentru sarcina cu care vă confruntați.
Ce este o referință circulară în Excel?
Iată o definiție foarte directă și concisă a unui referință circulară furnizate de Microsoft:
" Atunci când o formulă Excel se referă la propria celulă, fie direct, fie indirect, aceasta creează o referință circulară. "
De exemplu, dacă selectați celula A1 și tastați =A1
în ea, aceasta ar crea o referință circulară Excel. Introducerea oricărei alte formule sau calcule care face referire la A1 ar avea același efect, de exemplu. =A1*5
sau =IF(A1=1, "OK")
.
De îndată ce apăsați Enter pentru a finaliza o astfel de formulă, veți primi următorul mesaj de avertizare:
De ce vă avertizează Microsoft Excel? Pentru că referințele circulare din Excel se pot repeta la nesfârșit, creând o buclă nesfârșită, încetinind astfel semnificativ calculele din registrul de lucru.
După ce ați primit avertismentul de mai sus, puteți face clic pe Ajutor pentru mai multe informații sau închideți fereastra de mesaje făcând clic fie pe OK, fie pe butonul de cruce. Când închideți fereastra de mesaje, Excel afișează fie un mesaj zero (0) sau ultima valoare calculată în celulă. Da, în unele cazuri, o formulă cu o referință circulară se poate finaliza cu succes înainte de a încerca să se calculeze singură, iar când se întâmplă acest lucru, Microsoft Excel returnează valoarea ultimului calcul reușit.
Notă. În multe cazuri, atunci când introduceți mai multe formule cu o referință circulară, Excel nu afișează mesajul de avertizare în mod repetat.
Dar de ce ar vrea cineva să facă o astfel de formulă stupidă care nu face altceva decât să cauzeze probleme inutile? Corect, niciun utilizator sănătos la cap nu ar vrea să introducă intenționat o formulă circulară precum cea de mai sus. Cu toate acestea, este posibil să creați o referință circulară în foaia Excel din greșeală și iată un scenariu foarte comun.
Să presupunem că doriți să adunați valorile din coloana A cu o formulă obișnuită SUM, iar atunci când faceți acest lucru includeți din greșeală celula de total (B6 în acest exemplu).
Dacă referințele circulare nu sunt permise în Excel (și sunt dezactivate în mod implicit), veți vedea un mesaj de eroare despre care am discutat cu puțin timp în urmă. Dacă calculele iterative sunt activate, atunci formula circulară va returna 0, ca în următoarea captură de ecran:
În unele cazuri, una sau mai multe săgeți albastre pot apărea brusc în foaia de calcul, astfel încât ați putea crede că Excel-ul a înnebunit și este pe cale să se blocheze.
De fapt, aceste săgeți nu sunt altceva decât Urmărirea precedentelor sau Urmăriți dependenții , care indică ce celule afectează sau sunt afectate de celula activă. Vom discuta puțin mai târziu despre modul în care puteți afișa și ascunde aceste săgeți.
Până acum, s-ar putea să aveți impresia că referințele circulare din Excel sunt un lucru inutil și periculos și să vă întrebați de ce Excel nu le-a interzis cu totul. După cum am menționat deja, există câteva cazuri foarte rare în care utilizarea unei referințe circulare în Excel poate fi justificată, deoarece oferă o soluție mai scurtă și mai elegantă, dacă nu chiar singura posibilă. Următorul exemplu demonstrează un astfel de lucruo formulă.
Utilizarea unei referințe circulare Excel - exemplu de formulă
Într-unul dintre tutorialele noastre anterioare, am discutat despre cum să inserăm data de astăzi în Excel. Și o majoritate covârșitoare a întrebărilor postate în comentarii au fost despre cum să introducem o timestamp în Excel fără ca aceasta să se schimbe de fiecare dată când foaia de lucru este redeschisă sau recalculată. Am ezitat foarte mult să răspund la aceste comentarii, deoarece singura soluție pe care o cunosc implică referințe circulare, iar acestea trebuie tratate cu grijă. În orice caz, iată un scenariu foarte comun...
Să presupunem că aveți o listă de articole în coloana A și că introduceți starea de livrare în coloana B. Imediat ce tastați " Da " în coloana B, doriți ca data și ora curente să fie inserate automat în același rând din coloana C ca un timestamp static neschimbabil .
Utilizarea unei formule banale NOW() nu este o opțiune, deoarece această funcție Excel este volatilă, ceea ce înseamnă că își actualizează valoarea de fiecare dată când foaia de calcul este redeschisă sau recalculată. O soluție posibilă este utilizarea funcțiilor IF imbricate cu o referință circulară în al doilea IF:
=IF(B2="da", IF(C2="" ,NOW(), C2), "")
Unde B2 este starea livrării, iar C2 este celula în care doriți să apară o dată și ora.
În formula de mai sus, prima funcție IF verifică în celula B2 dacă există " Da " (sau orice alt text pe care îl furnizați formulei), iar dacă textul specificat se află acolo, se execută a doua funcție IF, în caz contrar se returnează un șir gol. Și a doua funcție IF este o formulă circulară care preia ziua și ora curentă dacă C2 nu are deja o valoare în ea, salvând astfel toate marcajele temporale existente.
Notă: Pentru ca această formulă circulară Excel să funcționeze, trebuie să permiteți calcule iterative în foaia de calcul, iar acest lucru este exact ceea ce vom discuta în continuare.
Cum să activați / dezactivați referințele circulare în Excel
După cum s-a menționat anterior, calcule iterative sunt, de obicei, dezactivate în Excel în mod implicit (în acest context, iterația reprezintă recalcularea repetată până când o anumită condiție numerică este îndeplinită). Pentru ca formulele circulare să funcționeze, trebuie să activați calculele iterative în registrul de lucru Excel.
În Excel 2019 , Excel 2016 , Excel 2013 , și Excel 2010 , faceți clic pe Fișier > Opțiuni , mergeți la Formule , și selectați Activați calculul iterativ caseta de selectare de sub Opțiuni de calcul secțiune.
În Excel 2007, faceți clic pe Buton de birou > Opțiuni Excel > Formule > Zona de iterație .
În Excel 2003 și în versiunile anterioare, funcția Calculul iterativ opțiunea se află sub Meniu > Unelte > Opțiuni > Calcul tab.
Atunci când activați calculele iterative, trebuie să specificați următoarele două opțiuni:
- Numărul maxim de iterații box - specifică de câte ori trebuie recalculată formula. Cu cât numărul de iterații este mai mare, cu atât mai mult timp durează calculul.
- Schimbare maximă box - specifică modificarea maximă între rezultatele calculelor. Cu cât numărul este mai mic, cu atât rezultatul este mai precis și cu atât Excel are nevoie de mai mult timp pentru a calcula foaia de calcul.
Setările implicite sunt 100 pentru Numărul maxim de iterații , și 0,001 pentru Schimbare maximă Aceasta înseamnă că Microsoft Excel va opri calculul formulei circulare după 100 de iterații sau după o schimbare mai mică de 0,001 între iterații, oricare dintre acestea are loc mai întâi.
De ce ar trebui să evitați utilizarea referințelor circulare în Excel
După cum știți deja, utilizarea referințelor circulare în Excel este o abordare alunecoasă și nerecomandată. În afară de problemele de performanță și de mesajul de avertizare afișat la fiecare deschidere a unui registru de lucru (cu excepția cazului în care sunt activate calculele iterative), referințele circulare pot duce la o serie de alte probleme, care nu sunt vizibile imediat.
De exemplu, dacă selectați o celulă cu o referință circulară și apoi treceți accidental la modul de editare a formulei (fie prin apăsarea F2, fie prin dublu clic pe celulă), iar apoi apăsați Enter fără a face nicio modificare în formulă, aceasta va returna zero.
Așadar, iată un sfat din partea multor guru respectați ai Excel - încercați să evitați referințele circulare în foile dvs. de calcul ori de câte ori este posibil.
Cum să găsiți referințe circulare în Excel
Pentru a verifica dacă există referințe circulare în registrul de lucru Excel, efectuați următorii pași:
- Mergeți la Formule faceți clic pe săgeata de lângă Verificarea erorilor , și indică Referințe circulare Aici se afișează ultima referință circulară introdusă.
- Faceți clic pe celula listată sub Referințe circulare , iar Excel vă va duce exact la acea celulă.
Imediat ce faceți acest lucru, bara de stare vă va notifica că în registrul de lucru se găsesc referințe circulare și va afișa adresa uneia dintre aceste celule:
În cazul în care se găsesc referințe circulare în alte foi, bara de stare afișează doar " Referințe circulare " fără adresă de celulă.
Notă. Această funcție este dezactivată atunci când opțiunea Iterative Calculation este activată, astfel încât trebuie să o dezactivați înainte de a începe să verificați dacă există referințe circulare în registrul de lucru.
Cum să eliminați referințele circulare în Excel
Din păcate, în Excel nu există un mecanism care să vă permită să eliminați toate formulele circulare dintr-un registru de lucru printr-un simplu clic pe un buton. Pentru a scăpa de ele, va trebui să inspectați fiecare referință circulară în parte, efectuând pașii de mai sus, și apoi fie să eliminați cu totul o anumită formulă circulară, fie să o înlocuiți cu una sau mai multe formule simple.
Cum să urmăriți relațiile dintre formule și celule
În cazurile în care o trimitere circulară Excel nu este evidentă, se va utiliza Urmărirea precedentelor și Urmăriți dependenții vă pot oferi un indiciu prin trasarea uneia sau mai multor linii care arată ce celule afectează sau sunt afectate de celula selectată.
Pentru a afișa săgețile de urmărire, mergeți la pagina Formule tab> Auditul formulei și faceți clic pe una dintre opțiuni:
Urmărirea precedentelor - urmărește celulele care furnizează date unei formule, adică trasează linii care indică ce celule afectează celula selectată.
Urmăriți dependenții - trasează celulele care depind de celula activă, adică trasează linii care indică ce celule sunt afectate de celula selectată. Cu alte cuvinte, arată ce celule conțin formule care fac trimitere la celula selectată.
Alternativ, puteți utiliza următoarele comenzi rapide:
- Urmărirea precedentelor: Alt+T U T
- Urmăriți dependenții: Alt+T U D
Pentru a ascunde săgețile, faceți clic pe butonul Îndepărtați săgețile care se află chiar sub butonul Urmăriți dependenții .
În exemplul de mai sus, se va utiliza Urmărirea precedentelor săgeata arată ce celule furnizează direct date către B6. După cum puteți vedea, celula B6 este de asemenea inclusă, ceea ce o face o referință circulară și face ca formula să returneze zero. Desigur, acest lucru este ușor de rezolvat, doar înlocuiți B6 cu B5 în argumentul SUM: =SUM(B2:B5)
Alte referințe circulare ar putea să nu fie atât de evidente și să necesite mai multă gândire și calcule.
Acesta este modul în care vă ocupați de referințele circulare din Excel. Sperăm că acest scurt tutorial a făcut puțină lumină asupra acestui "punct orb", iar acum puteți face cercetări suplimentare pentru a afla mai multe. Vă mulțumesc pentru lectură și vă aștept pe blogul nostru săptămâna viitoare!