Indholdsfortegnelse
Denne korte vejledning forklarer det grundlæggende om cirkulære referencer i Excel, og hvorfor du skal passe på med at bruge dem. Du lærer også, hvordan du kontrollerer, finder og fjerner cirkulære referencer i Excel-regneark, og hvis ingen af ovenstående er en mulighed, hvordan du aktiverer og bruger cirkulære formler.
Du har forsøgt at indtaste en formel i dit Excel-ark, men af en eller anden grund virker det ikke. I stedet fortæller den dig noget om en cirkulær reference Er det sådan, du er havnet på denne side? :)
Tusindvis af brugere står dagligt over for det samme problem, simpelthen fordi de tvinger en Excel-formel til at beregne sin egen celle. Når du forsøger at gøre dette, får du følgende fejlmeddelelse fra Excel:
"Pas på, vi har fundet en eller flere cirkulære referencer i din projektmappe, som kan medføre, at din formel beregnes forkert."
For at sige det enkelt, så er det, Excel forsøger at sige: "Hej, jeg kan sidde fast i rundkørslen. Er du sikker på, at du vil have mig til at fortsætte alligevel?"
Som du kan forstå, er cirkulære referencer i Excel besværlige, og den sunde fornuft siger, at man bør undgå dem, når det er muligt. Der kan dog være nogle sjældne tilfælde, hvor en cirkulær Excel-reference er den eneste mulige løsning på den opgave, du står over for.
Hvad er en cirkulær reference i Excel?
Her er en meget ligefrem og kortfattet definition af en cirkulær reference leveret af Microsoft:
" Når en Excel-formel refererer tilbage til sin egen celle, enten direkte eller indirekte, skaber den en cirkulær reference. "
Hvis du f.eks. vælger celle A1 og skriver =A1
i den, vil dette skabe en cirkulær Excel-reference. Hvis du indtaster en anden formel eller beregning, der henviser til A1, vil det have samme effekt, f.eks. =A1*5
eller =IF(A1=1, "OK")
.
Så snart du trykker på Enter for at fuldføre en sådan formel, får du følgende advarsel:
Hvorfor giver Microsoft Excel dig en advarsel? Fordi Excel-cirkulære referencer kan gentages i det uendelige og skabe en uendelig løkke, hvilket gør beregningerne i arbejdsbogen betydeligt langsommere.
Når du har fået ovenstående advarsel, kan du klikke på Hjælp for at få flere oplysninger, eller luk beskedvinduet ved at klikke på enten OK eller på knappen Kryds. Når du lukker beskedvinduet, viser Excel enten en nul (0) eller sidste beregnede værdi I nogle tilfælde kan en formel med en cirkulær reference i nogle tilfælde afsluttes med succes, før den forsøger at beregne sig selv, og når det sker, returnerer Microsoft Excel værdien fra den sidste vellykkede beregning.
Bemærk: I mange tilfælde, når du indtaster mere end én formel med en cirkulær reference, viser Excel ikke advarselsmeddelelsen gentagne gange.
Men hvorfor skulle nogen ønske at lave en så dum formel, der ikke gør andet end at skabe unødvendige problemer? Ja, ingen fornuftig bruger ville nogensinde bevidst indtaste en cirkulær formel som ovenstående. Du kan dog oprette en cirkulær reference i dit Excel-ark ved et uheld, og her er et meget almindeligt scenarie.
Lad os antage, at du ønsker at lægge værdierne i kolonne A sammen med en sædvanlig SUM-formel, og at du ved en fejltagelse medtager selve totalcellen (B6 i dette eksempel).
Hvis cirkulære referencer ikke er tilladt i Excel (og de er slået fra som standard), vil du se en fejlmeddelelse, som vi diskuterede for et øjeblik siden. Hvis iterative beregninger er slået til, vil din cirkulære formel returnere 0 som i følgende skærmbillede:
I nogle tilfælde kan der også pludselig dukke en eller flere blå pile op i dit regneark, så du kan tro, at Excel er blevet vanvittig og er ved at gå ned.
Faktisk er disse pile ikke andet end Spore præcedenter eller Spore afhængige personer , som angiver, hvilke celler der påvirker eller påvirkes af den aktive celle. Vi vil diskutere, hvordan du kan vise og skjule disse pile lidt senere.
Nu har du måske fået det indtryk, at cirkulære referencer i Excel er en værdiløs og farlig ting, og du undrer dig måske over, hvorfor Excel ikke har forbudt dem helt. Som allerede nævnt er der nogle meget sjældne tilfælde, hvor det kan være berettiget at bruge en cirkulær reference i Excel, fordi det giver en kortere og mere elegant løsning, hvis ikke den eneste mulige. Følgende eksempel viser en sådanen formel.
Brug af en cirkulær Excel-reference - eksempel på en formel
I en af vores tidligere tutorials diskuterede vi, hvordan du indsætter dagens dato i Excel. Og et overvældende flertal af spørgsmålene i kommentarerne handlede om, hvordan du indtaster en tidsstempel i Excel, uden at den ændres hver gang regnearket åbnes igen eller genberegnes. Jeg var meget tøvende med at svare på disse kommentarer, fordi den eneste løsning, jeg kender, involverer cirkulære referencer, og de bør behandles med forsigtighed. Anyway, her er et meget almindeligt scenarie...
Lad os antage, at du har en liste over varer i kolonne A, og at du indtaster leveringsstatus i kolonne B. Så snart du skriver " Ja " i kolonne B, skal den aktuelle dato og det aktuelle klokkeslæt automatisk indsættes i den samme række i kolonne C som en statisk uforanderlig tidsstempel .
Det er ikke muligt at bruge en triviel NOW()-formel, da denne Excel-funktion er flygtig, hvilket betyder, at den opdaterer sin værdi, hver gang regnearket åbnes igen eller genberegnes. En mulig løsning er at bruge indlejrede IF-funktioner med en cirkulær reference i den anden IF:
=IF(B2="ja", IF(C2=""" ,NOW(), C2), "")
Hvor B2 er leveringsstatus, og C2 er den celle, hvor du ønsker, at der skal vises et tidsstempel.
I ovenstående formel kontrollerer den første IF-funktion celle B2 for " Ja " (eller en anden tekst, som du angiver i formlen), og hvis den angivne tekst findes, kører den den anden IF-funktion, ellers returneres en tom streng. Og den anden IF-funktion er en cirkulær formel, der henter den aktuelle dag og det aktuelle klokkeslæt, hvis C2 ikke allerede har en værdi, og derved gemmes alle eksisterende tidsstempler.
Bemærk: For at denne cirkulære Excel-formel kan fungere, skal du tillade iterative beregninger i dit regneark, og det er præcis det, vi vil diskutere som det næste.
Sådan aktiveres / deaktiveres cirkulære referencer i Excel
Som tidligere nævnt, iterative beregninger er normalt slået fra i Excel som standard (i denne sammenhæng er iteration gentagne genberegninger, indtil en bestemt numerisk betingelse er opfyldt). For at cirkulære formler kan fungere, skal du aktivere iterative beregninger i din Excel-arbejdsmappe.
På Excel 2019 , Excel 2016 , Excel 2013 , og Excel 2010 , klik Fil > Indstillinger , gå til Formler , og vælg den Aktiver iterativ beregning afkrydsningsfeltet under Beregningsmuligheder sektion.
I Excel 2007 skal du klikke på Office-knap > Excel-muligheder > Formler > Iterationsområde .
I Excel 2003 og tidligere er Iterativ beregning findes under Menu > Værktøj > Indstillinger > Beregning fanebladet.
Når du aktiverer iterative beregninger, skal du angive følgende to indstillinger:
- Maksimale gentagelser boks - angiver, hvor mange gange formlen skal genberegnes. Jo højere antal gentagelser, jo mere tid tager beregningen.
- Maksimal ændring boks - angiver den maksimale ændring mellem beregningsresultaterne. Jo mindre tallet er, jo mere nøjagtigt resultat får du, og jo mere tid tager det Excel at beregne regnearket.
Standardindstillingerne er 100 for Maksimale gentagelser , og 0,001 for Maksimal ændring Det betyder, at Microsoft Excel stopper med at beregne din cirkulære formel efter 100 gentagelser eller efter en ændring på mindre end 0,001 mellem gentagelserne, alt efter hvad der kommer først.
Hvorfor du bør undgå at bruge cirkulære referencer i Excel
Som du allerede ved, er brugen af cirkulære referencer i Excel en skråsikker og ikke anbefalelsesværdig fremgangsmåde. Ud over problemer med ydeevnen og en advarselsmeddelelse, der vises ved hver åbning af en projektmappe (medmindre iterative beregninger er aktiveret), kan cirkulære referencer føre til en række andre problemer, som ikke umiddelbart er synlige.
Hvis du f.eks. markerer en celle med en cirkulær reference og derefter ved et uheld skifter til formelredigeringstilstand (enten ved at trykke på F2 eller dobbeltklikke på cellen) og derefter trykker på Enter uden at foretage nogen ændringer i formlen, vil formlen returnere nul.
Så her er et råd fra mange respekterede Excel-guruer - prøv så vidt muligt at undgå cirkulære referencer i dine ark.
Sådan finder du cirkulære referencer i Excel
Hvis du vil kontrollere din Excel-arbejdsbog for cirkulære referencer, skal du udføre følgende trin:
- Gå til Formler skal du klikke på pilen ud for Kontrol af fejl , og peger på Cirkulære referencer Her vises den sidst indtastede cirkulære reference.
- Klik på den celle, der er anført under Cirkulære referencer , og Excel fører dig præcis til den pågældende celle.
Så snart du gør dette, vil statuslinjen give dig besked om, at der er fundet cirkulære referencer i din projektmappe, og den viser adressen på en af disse celler:
Hvis der findes cirkulære referencer i andre ark, vises statuslinjen kun " Cirkulære referencer " uden nogen celleadresse.
Bemærk: Denne funktion er deaktiveret, når indstillingen Iterativ beregning er slået til, så du skal slå den fra, før du begynder at kontrollere arbejdsmappen for cirkulære referencer.
Sådan fjerner du cirkulære referencer i Excel
Desværre er der ingen mekanisme i Excel, som gør det muligt at fjerne alle cirkulære formler i en projektmappe med et enkelt klik på en knap. For at fjerne dem skal du undersøge hver enkelt cirkulær henvisning ved at udføre ovenstående trin og derefter enten fjerne en given cirkulær formel helt eller erstatte den med en eller flere enkle formler.
Sådan spores relationer mellem formler og celler
I tilfælde, hvor en cirkulær Excel-reference ikke er indlysende, skal Spore præcedenter og Spore afhængige personer funktioner kan give dig et fingerpeg ved at tegne en eller flere linjer, der viser, hvilke celler der påvirker eller påvirkes af den valgte celle.
For at få vist sporingspilene skal du gå til Formler faneblad> Revision af formler gruppe, og klik på en af mulighederne:
Spore præcedenter - sporer celler, der leverer data til en formel, dvs. tegner linjer, der angiver, hvilke celler der påvirker den valgte celle.
Spore afhængige personer - sporer celler, der er afhængige af den aktive celle, dvs. tegner linjer, der angiver, hvilke celler der påvirkes af den valgte celle. Med andre ord viser den, hvilke celler der indeholder formler, der henviser til den valgte celle.
Alternativt kan du bruge følgende genveje:
- Spore fortilfælde: Alt+T U T
- Spor afhængige personer: Alt+T U D
Hvis du vil skjule pilene, skal du klikke på Fjern pile knappen, der befinder sig lige under Spore afhængige personer .
I ovenstående eksempel er den Spore præcedenter pilen viser, hvilke celler der direkte leverer data til B6. Som du kan se, er celle B6 også inkluderet, hvilket gør den til en cirkulær reference og får formlen til at returnere nul. Dette er selvfølgelig let at rette, ved at erstatte B6 med B5 i SUMs argument: =SUM(B2:B5)
Andre cirkulære referencer er måske ikke så indlysende og kræver mere tankevirksomhed og beregninger.
Sådan håndterer du cirkulære referencer i Excel. Forhåbentlig har denne korte vejledning kastet lidt lys over denne "blinde plet", og nu kan du undersøge yderligere for at lære mere. Jeg takker dig for at læse og ser frem til at se dig på vores blog i næste uge!