eroarea „dependență circulară detectată” în foi de calcul Google, este o eroare foarte frecventă care poate apărea atunci când se utilizează aproape orice formulă. Când vedeți eroarea detectată de dependența circulară afișată în foaia de calcul Google, aceasta înseamnă că formula dvs. se referă la un interval care conține formula în sine sau, cu alte cuvinte, când introducerea formulei depinde de ieșire.
pentru a remedia eroarea detectată de dependența circulară în foi de calcul Google, efectuați oricare dintre următoarele modificări ale foii de calcul:
- mutați formula într-o altă celulă care nu este conținută în intervalul(intervalele) la care se referă formula
- sau ajustați referința din formula dvs. astfel încât să nu se refere la un interval care conține formula în sine
erori de dependență circulară pot apărea, de asemenea, atunci când două formule se referă la intervalul în care se află cealaltă formulă, chiar dacă formula nu se referă la ea însăși (adică locația sa proprie). În același mod în care intrarea unei singure formule nu poate fi dependentă de datele determinate de propria ieșire, două formule nu pot fi simultan dependente de ieșirea celeilalte. Acest lucru poate provoca o situație confuză în care o formulă greșită provoacă două erori de formulă.
în acest articol voi trece peste câteva exemple diferite despre modul în care s-ar putea să experimentați această eroare detectată de dependență circulară în foi de calcul Google și vă voi arăta, de asemenea, cum să remediați eroarea în fiecare situație.
când apare o eroare de dependență circulară în foaia de calcul, celula care conține eroarea de formulă va afișa un mic triunghi roșu în colțul din dreapta sus al celulei, iar textul celulei va spune „#REF!”.
când plasați cursorul peste celula care are această eroare, va apărea o casetă care afișează următorul mesaj, așa cum se arată în imaginea de mai jos:
„dependență circulară detectată. Pentru a rezolva cu calcul iterativ, consultați fișier > Setări foaie de calcul.”
de obicei, nu va trebui să ajustați efectiv setările foii de calcul pentru a remedia această eroare, deoarece în majoritatea cazurilor eroarea este rezolvată făcând ajustări la referințele formulei și la locația în care se află formula.
când formula dvs. se află în intervalul la care se referă, aceasta înseamnă că intrarea formulei este „dependentă” de ieșire, ceea ce nu este posibil de calculat și provoacă o eroare.
Iată o analogie care ajută la explicarea erorii. Acest lucru este ca și cum ați fi dat următoarea problemă de matematică:
Întrebarea 1: împărțiți 10 la răspunsul la întrebarea 1.
acest lucru este imposibil de rezolvat, deoarece rezultatul/răspunsul nu poate fi cunoscut înainte ca problema să fie rezolvată efectiv.
sau în cazul a două formule care se referă la ieșirea/locația celuilalt, iată o altă analogie. Este ca și cum i s-ar da următoarele două probleme de matematică:
Întrebarea 1: Care este răspunsul la întrebarea 2?
întrebarea 2: Care este răspunsul la întrebarea 1?
din nou, acest lucru nu poate fi rezolvat. Răspunsul la fiecare întrebare depinde de cealaltă, ceea ce face ca mintea ta să alerge în cercuri… de unde și expresia „dependență circulară”.
nu lăsați acest lucru să vă facă să vă simțiți confuzi, deoarece acesta este ideea că această logică provoacă o eroare. Tot ce trebuie să știți este de ce se întâmplă și cum să o remediați.
deci, să trecem în revistă câteva exemple reale de rezolvare a acestei erori de „dependență circulară detectată” în foaia de calcul Google.
cum se remediază eroarea detectată de dependență circulară
să aruncăm o privire la cel mai simplu exemplu de eroare detectată de dependență circulară.
mai jos, imaginea prezintă o formulă care se referă pur și simplu la o singură celulă. Cu toate acestea, problema este că celula la care se referă formula este celula în care este introdusă formula (formula din celula A1, se referă la celula A1).
după cum puteți vedea, acest lucru a cauzat o eroare de dependență circulară.
următoarea formulă provoacă o eroare, atunci când a intrat în celula A1:
= A1
pentru a remedia eroarea, putem muta formula într-o altă celulă sau putem schimba referința din formulă astfel încât să se refere la o altă celulă.
în acest caz, vom schimba referința celulei la celula B1.
după cum puteți vedea în imaginea de mai jos, această ajustare a remediat eroarea de dependență circulară.
următoarea formulă a fost ajustată și rezolvă eroarea:
= B1
acum, celula A1 afișează textul din celula B1.
fixarea dependenței circulare atunci când însumați
o situație obișnuită în care s-ar putea să întâmpinați eroarea „dependența circulară detectată” este atunci când însumați în foi de calcul Google. Acest lucru se va întâmpla cel mai adesea atunci când formula dvs. de sumă se află în aceeași coloană la care se referă și când referința formulei captează întreaga coloană.
imaginea de mai jos prezintă o formulă simplă de sumă, care încearcă să însumeze numerele din celulele A1 până la A5.
dar după cum puteți vedea, formula sumă se referă la întreaga coloană (a). Deoarece formula sumă este introdusă într-o celulă din coloana a (A6), aceasta determină o eroare detectată de dependență circulară.
următoarea formulă provoacă o eroare atunci când este introdusă oriunde în coloana A:
= SUM(A1:A)
pentru a remedia această eroare, vom ajusta referința din formulă astfel încât să însumeze doar valorile din celulele de deasupra acesteia.
deci, mai degrabă decât să încercăm să însumăm întreaga coloană, vom desemna un rând final în referință (un rând care este deasupra formulei sumă).
pentru a face acest lucru, pur și simplu schimbați intervalul de sumă la A1:A5.
aceasta remediază eroarea de dependență circulară, așa cum se arată în imaginea de mai jos.
următoarea formulă a fost ajustată și rezolvă eroarea:
= SUM(A1: A5)
acum, formula sumă din imaginea de mai sus, însumează cu succes celulele A1 până la A5. (1+2+3+4+5=15)
fixarea dependenței circulare la filtrarea
în ultimul exemplu a trebuit să ajustăm rândurile din referința formulei pentru a remedia eroarea de dependență circulară, dar să aruncăm o privire la un exemplu în care vom ajusta coloanele din referință pentru a rezolva eroarea.
în acest exemplu, să presupunem că avem o listă de rechizite școlare și prețurile acestora introduse într-o foaie de calcul și dorim să filtrăm datele cu o formulă astfel încât să fie afișată o listă de articole care costă mai mult de 1 USD.
după cum puteți vedea în imaginea de mai jos, formula filtrului are o eroare „dependență circulară detectată”. Acest lucru este cauzat de referința la gama de surse, care este o coloană prea largă (având în vedere unde a fost plasată formula filtrului).
dacă formula se referă la intervalul A2: D, care conține coloana D, formula nu poate fi plasată în coloana D.
următoarea formulă provoacă o eroare atunci când este introdusă în celula D2:
=filtru (A2: D, C2:C>1)
pentru a remedia eroarea afișată în imaginea de mai sus, modificați intervalul care se referă la datele sursă de la A2:D, la A2:C.
după efectuarea acestei ajustări, eroarea este remediată și formula filtrului funcționează corect.
următoarea formulă a fost ajustată și rezolvă eroarea:
= filtru (A2:C, C2:C>1)
acum rechizitele școlare sunt filtrate pentru a afișa o listă de articole care costă mai mult de 1 USD.
acest conținut a fost inițial creat și scris de SpreadsheetClass.com
fixarea dependenței circulare cu declarația if/then
acum, să aruncăm o privire la un exemplu mai complex, care s-ar putea întâmpla oricui folosește formule în foile de calcul. În acest exemplu, există două formule diferite care interacționează și, deoarece una dintre ele a fost configurată incorect, ambele afișează o eroare, datorită faptului că fiecare se referă (depinde) reciproc.
(pentru mai multe explicații despre motivul pentru care se întâmplă acest lucru, consultați partea de sus a acestui articol)
când se întâmplă o eroare ca cea prezentată în imaginea de mai jos, uneori poate fi greu să se determine care formulă are greșeala, din cauza dublei erori pe care o provoacă. Ca în orice scenariu de depanare… cel mai bun lucru de făcut este să începeți de la început și să vă urmăriți drumul prin date/sistem până când găsiți greșeala.
iată scenariul din acest exemplu: coloana A indică finalizarea unei sarcini cu 1 și 0. formulele din coloana B au fost destinate să se refere la datele din coloana a și să afișeze textul „da” sau „nu”, în funcție de dacă fiecare celulă din coloana a avea un număr 1 sau un număr 0. Apoi, coloana C se referă la celulele din coloana B și afișează cuvintele „complet” sau „nu este complet”, în funcție de faptul dacă fiecare celulă din coloana B spune da sau nu.
pe scurt, dacă celula A3 conține numărul 1, atunci celula B3 ar trebui să spună „Da”, iar celula C3 ar trebui să spună „completă”.
dar problema este că formula din celula B3… în loc să se refere la 1 și 0 din coloana a, creatorul foii a făcut o greșeală și s-a referit la coloana C (care la rândul său se referă înapoi la ea). Aceasta creează o eroare de dependență circulară, în ambele formule, chiar dacă din punct de vedere tehnic doar una dintre formule a fost configurată incorect.
acest tip de amestec este obișnuit atunci când utilizați o mulțime de formule în foile dvs. și mai ales când ați creat toată ziua și sunteți obosit.
pentru a remedia această formulă, care va remedia ambele erori de dependență circulară, urmați instrucțiunile enumerate sub imagine.
următoarea formulă provoacă o eroare atunci când este introdusă în celula B3, datorită unei alte formule din celula C3 care se referă la celula B3:
= dacă (C3= „complet”, „Da”, „Nu”)
în acest caz, pentru a remedia eroarea, este mai mult decât o chestiune de schimbare a referinței în formulă, deoarece întreaga formulă a fost scrisă incorect din greșeală. Deci, amintiți-vă că formulele din coloana B, ar trebui să afișeze cuvântul „da” în fiecare rând/celulă dacă există un număr 1 în celulele adiacente din coloana a (și cuvântul „nu” dacă există un 0 în celula adiacentă).
logica corectată pentru formula din celula B3 este următoarea: dacă celula A3 este egală cu 1, atunci afișați cuvântul „da” și, dacă nu, afișați cuvântul „nu”.
următoarea formulă a fost ajustată și rezolvă eroarea:
=dacă(A3=1,”Da”, „Nu”)
acum ambele formule funcționează corect și ambele erori de dependență circulară au fost remediate în același timp, prin corectarea unei formule.
acum, coloana B se referă la coloana A, iar apoi coloana B se referă la coloana C, așa cum ar trebui să fie. Formulele nu mai depind simultan de ieșirea celuilalt.
Remediați eroarea de dependență circulară atunci când vă referiți la o altă filă
încă un mod foarte comun de a rula în eroarea „dependență circulară detectată”, este atunci când vă referiți la o altă filă din formula dvs. și uitați să includeți numele filei în referință.
datele de mai jos prezintă o listă de articole de îmbrăcăminte și dimensiunile lor enumerate într-o foaie de calcul. Vrem să filtrăm datele folosind o formulă într-o altă filă, pentru a afișa numai elementele care au dimensiunea „Mediu”.
imaginea de mai jos prezintă o formulă de filtrare care este introdusă în celula A2, pe o filă diferită de cea care conține datele sursă prezentate mai sus.
problema este că numele filei a fost lăsat afară când a fost introdusă formula.
deoarece intervalul sursă este A2: B și formula este în celula A2, aceasta înseamnă că formula se referă la ea însăși. Sau cu alte cuvinte, celula în care este introdusă formula se află în intervalul la care se referă formula. Aceasta provoacă o eroare de dependență circulară.
următoarea formulă provoacă o eroare atunci când este introdusă în celula A2:
= filtru (A2:B,B2: B=”Mediu”)
pentru a remedia această eroare, pur și simplu adăugați numele filei la referințele din formula filtrului.
referința la intervalul sursă va fi ‘altă filă’!A2: B (apostrofele trebuie adăugate înainte și după referința numelui filei, atunci când există un spațiu în numele filei).
următoarea formulă a fost ajustată și rezolvă eroarea:
=filtru(‘altă filă’!A2: B, ‘O Altă Filă’!B2: B= „Mediu”)