Feilen «Sirkulær avhengighet oppdaget» I Google Regneark, er en svært vanlig feil som kan oppstå når du bruker nesten hvilken som helst formel. Når du ser den sirkulære avhengighetsoppdagede feilen som vises i google-regnearket, betyr dette at formelen din refererer til et område som inneholder selve formelen, eller med andre ord når formelinngangen, er avhengig av utgangen.
gjør en av følgende endringer i regnearket for å fikse den sirkulære avhengighetsoppdagede feilen i Google Regneark:
- Flytt formelen til en annen celle som ikke finnes i området(e) som formelen refererer til
- eller juster referansen i formelen slik at den ikke refererer til et område som inneholder selve formelen
Sirkulære avhengighetsfeil kan også oppstå når to formler refererer til området som den andre formelen ligger i, selv om formelen ikke refererer til seg selv (dvs.sin egen plassering). På samme måte som en enkelt formels inngang ikke kan være avhengig av data som bestemmes av egen utgang, kan to formler ikke samtidig være avhengige av hverandres utgang. Dette kan føre til en forvirrende situasjon der en feil formel forårsaker to formel feil.
I denne artikkelen vil jeg gå over flere forskjellige eksempler på hvordan du kan oppleve denne sirkulære avhengighetsoppdagede feilen I Google-Ark, og jeg vil også vise deg hvordan du løser feilen i hver situasjon.
når det oppstår en sirkulær avhengighetsfeil i regnearket, vil cellen som inneholder formelfeilen vise en liten rød trekant øverst til høyre i cellen, og celleteksten vil si, » # REF!».
når du holder markøren over cellen som har denne feilen, vises en boks som viser følgende melding, som vist på bildet nedenfor:
» Sirkulær avhengighet oppdaget. Hvis du vil løse med iterativ beregning, kan Du se Fil>Regnearkinnstillinger.»
Vanligvis trenger du ikke å justere regnearkinnstillingene for å fikse denne feilen, da feilen i de fleste tilfeller løses ved å justere formelreferansene og plasseringen som formelen er i.
når formelen er inne i området det refererer til, betyr dette at formelinngangen er «avhengig» av utgangen, som ikke er mulig å beregne, og forårsaker en feil.
her er en analogi som bidrar til å forklare feilen. Dette er som om du fikk følgende matteproblem:
Spørsmål 1: Del 10 med svaret på spørsmål 1.
Dette er umulig å løse fordi utgangen / svaret ikke kan bli kjent før problemet faktisk er løst.
Eller i tilfelle av to formler som refererer til hverandres utgang / plassering, her er en annen analogi. Dette er som å få de to følgende matteproblemene:
Spørsmål 1: Hva er svaret på spørsmål 2?
Spørsmål 2: Hva er svaret på spørsmål 1?
igjen, dette kan Ikke løses. Svaret på hvert spørsmål er avhengig av det andre, noe som gjør at tankene dine går i sirkler … derav uttrykket «sirkulær avhengighet».
Ikke la dette få deg til å føle deg forvirret, fordi det er poenget er at denne logikken forårsaker en feil. Alt du trenger å vite er hvorfor det skjer, og hvordan å fikse det.
så la oss gå over noen faktiske eksempler på å løse denne» sirkulære avhengigheten oppdaget » feil I google-regnearket.
slik løser du den sirkulære avhengighetsoppdagede feilen
La oss ta en titt på det enkleste eksempelet på den sirkulære avhengighetsoppdagede feilen.
Nedenfor viser bildet en formel som bare refererer til en enkelt celle. Problemet er imidlertid at cellen som formelen refererer til, er cellen som formelen er inngått (formelen i celle A1, refererer til celle A1).
som du kan se, har dette forårsaket en sirkulær avhengighetsfeil.
følgende formel forårsaker en feil når den skrives inn i celle A1:
=A1
for å fikse feilen, kan vi enten flytte formelen til en annen celle, eller endre referansen i formelen slik at den refererer til en annen celle.
i dette tilfellet vil vi endre cellereferansen til celle B1.
som du kan se på bildet nedenfor, har denne justeringen løst den sirkulære avhengighetsfeilen.
følgende formel er justert og løser feilen:
=b1
nå viser celle A1 teksten Som er i celle B1.
Å Fikse sirkulær avhengighet når du summerer
en vanlig situasjon der du kan oppleve feilen «sirkulær avhengighet oppdaget», er når Du summerer I Google Regneark. Dette skjer oftest når SUMFORMELEN er i samme kolonne som den refererer til, og når formelreferansen fanger opp hele kolonnen.
bildet nedenfor viser en ENKEL SUMFORMEL, som forsøker å summere tallene I cellene A1 til A5.
MEN SOM du kan se, REFERERER SUMFORMELEN til hele kolonnen (A). SIDEN SUM-formelen er lagt inn i en celle i kolonne A (A6), fører dette til en sirkulær avhengighet oppdaget feil.
følgende formel forårsaker en feil når den skrives inn hvor som helst i kolonne A:
=SUM(A1:A)
for å fikse denne feilen, justerer vi referansen i formelen slik at den bare summerer verdiene i cellene over den.
så i stedet for å prøve å summere hele kolonnen, vil vi utpeke en sluttrad i referansen(en rad som er over sumformelen).
for å gjøre dette, endrer du bare sumområdet Til A1: A5.
dette løser den sirkulære avhengighetsfeilen, som vist på bildet nedenfor.
følgende formel er justert og løser feilen:
=SUM (A1: A5)
NÅ SUMMEN formelen i bildet ovenfor, vellykket summerer cellene A1 Til A5. (1+2+3+4+5=15)
Fikse sirkulær avhengighet ved filtrering
i det siste eksemplet måtte vi justere radene i formelreferansen for å fikse den sirkulære avhengighetsfeilen, men la oss ta en titt på et eksempel der vi vil justere kolonnene i referansen for å løse feilen.
i dette eksemplet, la oss si at vi har en liste over skolelever og deres priser inngått et regneark, og vi vil filtrere dataene med en formel slik at en liste over elementer som koster mer enn $1, vises.
SOM du kan se på bildet nedenfor, HAR FILTERFORMELEN en» sirkulær avhengighet oppdaget » – feil. Dette skyldes referansen til kildeområdet, som er en kolonne for bred (vurderer hvor filterformelen er plassert).
hvis formelen refererer til området a2: D, som inneholder kolonne D, kan ikke formelen plasseres i kolonne D.
følgende formel forårsaker en feil når den skrives inn i celle D2:
=FILTER(A2: D, C2:C>1)
for å fikse feilen som vises i bildet ovenfor, endrer du området som refererer til kildedataene Fra A2: D til A2: C.
etter at denne justeringen er gjort, er feilen løst, OG FILTERFORMELEN fungerer som den skal.
følgende formel er justert og løser feilen:
=FILTER (A2: C, C2:C>1)
nå skolemateriell blir filtrert for å vise en liste over elementer som koster mer enn $1.
dette innholdet ble opprinnelig opprettet og skrevet av SpreadsheetClass.com
Fikse sirkulær avhengighet med if/then statement
la Oss nå se på et mer komplekst eksempel, som kan skje med alle som bruker formler i regnearkene sine. I dette eksemplet er det to forskjellige formler som samhandler, og fordi en av dem ble satt opp feil, viser begge en feil, på grunn av at hver refererer til (avhengig av) hverandre.
(for mer forklaring på hvorfor dette skjer, se toppen av denne artikkelen)
når en feil skjer som den som vises på bildet nedenfor, kan det noen ganger være vanskelig å avgjøre hvilken formel som har feilen, på grunn av den doble feilen det forårsaker. Som i alle feilsøkingsscenario … det beste å gjøre er å starte fra begynnelsen, og spore deg gjennom dataene / systemet til du finner feilen.
Så her er scenariet i dette eksemplet: Kolonne A indikerer ferdigstillelse av en oppgave med 1 og 0. formlene i kolonne B var ment å referere til dataene I kolonne A, og å vise teksten «Ja» eller «Nei», avhengig av om hver celle I kolonne A hadde et tall 1 eller et tall 0. Deretter refererer kolonne C til cellene I kolonne B, og viser ordene «Komplett » eller» Ikke Fullført», avhengig av om hver celle i kolonne B sier ja eller nei.
kort sagt, hvis celle A3 inneholder tallet 1, bør celle B3 si «Ja», og celle C3 skal si»Komplett».
men problemet er at formelen I celle B3 … i stedet for å referere til 1 og 0 i kolonne a, gjorde arkets skaper en feil, og refererte Til kolonne C (som igjen refererer tilbake til det). Dette skaper en sirkulær avhengighetsfeil, I begge formlene, selv om teknisk bare en av formlene ble satt opp feil.
denne typen blanding er vanlig når du bruker mange formler i arkene dine, og spesielt når du har skapt hele dagen og er sliten.
følg instruksjonene nedenfor bildet for å fikse denne formelen, som vil fikse begge de sirkulære avhengighetsfeilene.
følgende formel forårsaker en feil når den skrives inn i celle B3, på grunn av en annen formel I celle C3 som refererer til celle B3:
= HVIS (C3 = «Komplett», «Ja», «Nei»)
I dette tilfellet, for å fikse feilen, er det mer enn bare et spørsmål om å endre referansen i formelen, fordi hele formelen ble skrevet feil ved en feil. Så husk at formlene I kolonne B, skal vise ordet » Ja » i hver rad/celle hvis det er et tall 1 i de tilstøtende cellene I kolonne A (og ordet «Nei» hvis det er en 0 i den tilstøtende cellen).
den korrigerte logikken for formelen i celle B3 er som følger: hvis celle A3 er lik 1, viser du ordet» Ja», og hvis ikke, viser du ordet»Nei».
følgende formel er justert og løser feilen:
= HVIS (A3=1, «Ja», «Nei»)
nå fungerer begge formlene som de skal, og begge de sirkulære avhengighetsfeilene er løst samtidig, ved å korrigere en formel.
nå refererer kolonne B til kolonne A, og deretter refererer kolonne B til kolonne C, som det burde være. Formlene er ikke lenger samtidig avhengige av hverandres utgang.
Løs den sirkulære avhengighetsfeilen når du refererer til en annen fane
En mer vanlig måte å løpe inn i feilen «sirkulær avhengighet oppdaget», er Når du refererer til en annen fane i formelen din, og du glemmer å inkludere fanenavnet i referansen din.
dataene nedenfor viser en liste over klær og deres størrelser oppført i et regneark. Vi vil filtrere dataene ved å bruke en formel i en annen fane, for bare å vise elementer som har størrelsen «Medium».
bildet nedenfor viser EN FILTERFORMEL som er angitt I celle A2, på en annen fane enn den som inneholder kildedataene som vises ovenfor.
problemet er at fanenavnet ble utelatt da formelen ble oppgitt.
siden kildeområdet Er A2: B og formelen er i celle A2, betyr dette at formelen refererer til seg selv. Eller med andre ord, cellen som formelen er angitt i, er innenfor området som formelen refererer til. Dette fører til en sirkulær avhengighetsfeil.
følgende formel forårsaker en feil når den skrives inn i celle A2:
=filter (A2: B, B2: B=»Medium»)
for å fikse denne feilen, legg bare til fanenavnet til referansene i filterformelen.
referansen til kildeområdet vil være ‘En Annen Fane’!A2: B (Apostrofer må legges til før og etter fanenavnreferansen, når det er plass i fanenavnet).
følgende formel er justert og løser feilen:
= filter (‘En Annen Fane’!A2: B,’En Annen Fane’!B2: B= «Medium»)