Cirkulär referens i Excel: hur du hittar, aktiverar, använder eller tar bort

  • Dela Detta
Michael Brown

Den här korta handledningen förklarar grunderna för cirkulära referenser i Excel och varför du bör akta dig för att använda dem. Du lär dig också hur du kontrollerar, hittar och tar bort cirkulära referenser i Excel-arbetsblad, och om inget av ovanstående är ett alternativ, hur du aktiverar och använder cirkulära formler.

Du har försökt skriva in en formel i ditt Excel-ark, men av någon anledning fungerar det inte. Istället får du veta något om en cirkulär referens Är det så här du hamnade på den här sidan? :)

Tusentals användare ställs dagligen inför samma problem, helt enkelt för att tvinga en Excel-formel att beräkna sin egen cell. När du försöker göra detta får du följande felmeddelande från Excel:

"Försiktigt, vi har hittat en eller flera cirkulära referenser i din arbetsbok som kan leda till att formeln beräknas felaktigt."

Enkelt uttryckt är det som Excel försöker säga: "Jag kan fastna i rondellen, är du säker på att du vill att jag ska fortsätta ändå?"

Som du förstår är cirkulära referenser i Excel besvärliga och det sunda förnuftet säger att man bör undvika dem när det är möjligt. Det kan dock finnas sällsynta fall där en cirkulär referens i Excel är den enda möjliga lösningen för den uppgift du står inför.

    Vad är en cirkulär referens i Excel?

    Här är en mycket rak och kortfattad definition av en cirkulär referens som tillhandahålls av Microsoft:

    " När en Excel-formel hänvisar tillbaka till sin egen cell, antingen direkt eller indirekt, skapas en cirkulär referens. "

    Om du till exempel markerar cell A1 och skriver =A1 i den skapar detta en cirkulär Excel-referens. Om du skriver in någon annan formel eller beräkning som hänvisar till A1 får det samma effekt, t.ex. =A1*5 eller . =IF(A1=1, "OK") .

    Så snart du trycker på Enter för att slutföra en sådan formel får du följande varningsmeddelande:

    Varför ger Microsoft Excel dig en varning? Eftersom cirkulära referenser i Excel kan upprepas i all oändlighet och skapa en ändlös slinga, vilket gör att beräkningarna i arbetsboken blir betydligt långsammare.

    När du har fått ovanstående varning kan du klicka på Hjälp för mer information, eller stänger meddelandefönstret genom att klicka på OK eller på kryss-knappen. När du stänger meddelandefönstret visar Excel antingen en noll (0) eller det senast beräknade värdet i cellen. Japp, i vissa fall kan en formel med en cirkulär referens slutföras framgångsrikt innan den försöker beräkna sig själv, och när det händer returnerar Microsoft Excel värdet från den senast lyckade beräkningen.

    Obs. I många fall, när du anger mer än en formel med en cirkulär referens, visar Excel inte varningsmeddelandet upprepade gånger.

    Men varför skulle någon vilja skapa en sådan dum formel som inte gör något annat än att orsaka onödiga problem? Visst, ingen vettig användare skulle någonsin avsiktligt vilja skriva in en cirkulär formel som den ovan. Du kan dock skapa en cirkulär referens i ditt Excel-ark av misstag, och här är ett mycket vanligt scenario.

    Anta att du vill summera värden i kolumn A med en vanlig SUM-formel, och när du gör detta inkluderar du av misstag själva totalcellen (B6 i det här exemplet).

    Om cirkulära referenser inte är tillåtna i Excel (och de är avstängda som standard) kommer du att se ett felmeddelande som vi diskuterade för en stund sedan. Om iterativa beräkningar är aktiverade kommer din cirkulära formel att ge 0 som i följande skärmdump:

    I vissa fall kan en eller flera blå pilar också dyka upp i kalkylbladet helt plötsligt, så att du kan tro att Excel har blivit galen och håller på att krascha.

    I själva verket är dessa pilar inget annat än Spåra föregångare eller . Spåra beroende personer som visar vilka celler som påverkar eller påverkas av den aktiva cellen. Vi kommer att diskutera hur du kan visa och dölja dessa pilar lite senare.

    Vid det här laget har du kanske fått intrycket att cirkulära referenser i Excel är värdelösa och farliga och kanske undrar du varför Excel inte har förbjudit dem helt och hållet. Som redan nämnts finns det några mycket sällsynta fall där det är motiverat att använda en cirkulär referens i Excel eftersom det ger en kortare och elegantare lösning, om inte den enda möjliga. Följande exempel visar en sådan lösning.en formel.

    Användning av en cirkulär Excel-referens - exempel på en formel

    I en av våra tidigare handledningar diskuterade vi hur du infogar dagens datum i Excel. Och en överväldigande majoritet av frågorna i kommentarerna handlade om hur du anger ett datum i Excel. tidsstämpel i Excel utan att den ändras varje gång arbetsbladet öppnas på nytt eller beräknas på nytt. Jag tvekade mycket att svara på dessa kommentarer eftersom den enda lösning jag känner till involverar cirkulära referenser, och de bör behandlas med försiktighet. Hur som helst, här är ett mycket vanligt scenario...

    Anta att du har en lista med artiklar i kolumn A och att du anger leveransstatus i kolumn B. Så snart du skriver " Ja " i kolumn B, vill du att det aktuella datumet och klockslaget automatiskt ska infogas i samma rad i kolumn C som en statisk oföränderlig tidsstämpel .

    Det går inte att använda en trivial NOW()-formel eftersom denna Excel-funktion är flyktig, vilket innebär att den uppdaterar sitt värde varje gång arbetsbladet öppnas eller beräknas på nytt. En möjlig lösning är att använda inbäddade IF-funktioner med en cirkulär referens i den andra IF-funktionen:

    =IF(B2="ja", IF(C2="" ,NOW(), C2), "")

    Där B2 är leveransstatus och C2 är den cell där du vill att en tidsstämpel ska visas.

    I formeln ovan kontrollerar den första IF-funktionen cell B2 för " Ja "(eller någon annan text som du anger i formeln), och om den angivna texten finns där körs den andra IF-funktionen, annars returneras en tom sträng. Och den andra IF-funktionen är en cirkulär formel som hämtar aktuell dag och tid om C2 inte redan har ett värde, vilket sparar alla befintliga tidsstämplar.

    Observera: För att den här cirkulära Excel-formeln ska fungera bör du tillåta iterativa beräkningar i ditt kalkylblad, och det är precis vad vi kommer att diskutera härnäst.

    Hur du aktiverar / inaktiverar cirkulära referenser i Excel

    Som tidigare nämnts, iterativa beräkningar är vanligtvis avstängda som standard i Excel (i det här sammanhanget är iteration en upprepad omräkning tills ett visst numeriskt villkor är uppfyllt). För att cirkulära formler ska fungera måste du aktivera iterativa beräkningar i din Excel-arbetsbok.

    Excel 2019 , Excel 2016 , Excel 2013 , och Excel 2010 , klicka på Fil > Alternativ , gå till Formler och välj den Aktivera iterativ beräkning under rutan Beräkningsalternativ sektion.

    I Excel 2007 klickar du på Kontorsknapp > Excel-alternativ > Formler > Området för iterering .

    I Excel 2003 och tidigare finns Iterativ beräkning alternativet finns under Meny > Verktyg > Alternativ > Beräkning fliken.

    När du aktiverar iterativa beräkningar måste du ange följande två alternativ:

    • Högsta antal iterationer box - anger hur många gånger formeln ska räknas om. Ju högre antal iterationer, desto mer tid tar beräkningen.
    • Maximal förändring box - anger den maximala förändringen mellan beräkningsresultaten. Ju mindre siffran är, desto noggrannare resultat får du och desto mer tid tar Excel för att beräkna kalkylbladet.

    Standardinställningarna är 100 för Högsta antal iterationer , och 0,001 för Maximal förändring Det innebär att Microsoft Excel slutar beräkna din cirkulära formel efter 100 iterationer eller efter en förändring på mindre än 0,001 mellan iterationerna, beroende på vad som inträffar först.

    Varför du bör undvika att använda cirkulära referenser i Excel

    Som du redan vet är cirkulära referenser i Excel ett halt och olämpligt tillvägagångssätt. Förutom prestandaproblem och ett varningsmeddelande som visas vid varje öppning av en arbetsbok (om inte iterativa beräkningar är aktiverade) kan cirkulära referenser leda till ett antal andra problem som inte är uppenbara direkt.

    Om du till exempel markerar en cell med en cirkulär referens och sedan av misstag byter till redigeringsläget för formeln (antingen genom att trycka på F2 eller dubbelklicka på cellen) och sedan trycker på Enter utan att göra några ändringar i formeln, kommer formeln att återge noll.

    Så här är ett råd från många respekterade Excel-gurus - försök att undvika cirkulära referenser i dina ark när det är möjligt.

    Hur man hittar cirkulära referenser i Excel

    Om du vill kontrollera om det finns cirkulära referenser i Excel-arbetsboken utför du följande steg:

    1. Gå till Formler Klicka på pilen bredvid Kontroll av fel , och peka på Cirkulära referenser Den senast inmatade cirkulära referensen visas där.

    2. Klicka på den cell som anges under Cirkulära referenser och Excel tar dig till exakt den cellen.

    Så snart du gör detta kommer statusfältet att meddela dig att cirkulära referenser finns i arbetsboken och visa adressen till en av dessa celler:

    Om cirkulära referenser finns i andra ark visas i statusfältet endast " Cirkulära referenser " utan någon mobiladress.

    Den här funktionen är inaktiverad när alternativet Iterativ beräkning är aktiverat, så du måste stänga av den innan du börjar kontrollera arbetsboken för cirkulära referenser.

    Hur du tar bort cirkulära referenser i Excel

    Tyvärr finns det ingen mekanism i Excel som låter dig ta bort alla cirkulära formler i en arbetsbok med ett knapptryck. För att bli av med dem måste du kontrollera varje cirkulär referens individuellt genom att utföra ovanstående steg och sedan antingen ta bort en viss cirkulär formel helt och hållet eller ersätta den med en eller flera enkla formler.

    Hur du spårar relationer mellan formler och celler

    I de fall då det inte är uppenbart att en Excel-cirkelhänvisning inte är uppenbar, ska Spåra föregångare och Spåra beroende personer funktioner kan ge dig en ledtråd genom att rita en eller flera linjer som visar vilka celler som påverkar eller påverkas av den markerade cellen.

    För att visa spårpilar går du till Formler flik> Granskning av formler och klicka på ett av alternativen:

    Spåra föregångare - spårar celler som ger data till en formel, dvs. drar linjer som visar vilka celler som påverkar den valda cellen.

    Spåra beroende personer - spårar celler som är beroende av den aktiva cellen, dvs. drar linjer som visar vilka celler som påverkas av den valda cellen. Med andra ord visar den vilka celler som innehåller formler som hänvisar till den valda cellen.

    Alternativt kan du använda följande genvägar:

    • Spåra föregångare: Alt+T U T
    • Spåra beroende personer: Alt+T U D

    Om du vill dölja pilarna klickar du på Ta bort pilar knappen som finns precis under Spåra beroende personer .

    I exemplet ovan är Spåra föregångare pilen visar vilka celler som direkt levererar data till B6. Som du kan se är cell B6 också inkluderad, vilket gör den till en cirkulär referens och gör att formeln returnerar noll. Det här är naturligtvis lätt att åtgärda, det är bara att ersätta B6 med B5 i SUM-argumentet: =SUMMA(B2:B5)

    Andra cirkulära referenser är kanske inte lika uppenbara och kräver mer eftertanke och beräkningar.

    Det är så här du hanterar cirkulära referenser i Excel. Förhoppningsvis har den här korta handledningen kastat lite ljus över den här "blinda fläcken", och nu kan du göra ytterligare forskning för att lära dig mer. Jag tackar dig för att du läste och ser fram emot att se dig på vår blogg nästa vecka!

    Michael Brown är en hängiven teknikentusiast med en passion för att förenkla komplexa processer med hjälp av mjukvaruverktyg. Med mer än ett decenniums erfarenhet inom teknikbranschen har han finslipat sina kunskaper i Microsoft Excel och Outlook, samt Google Sheets och Docs. Michaels blogg är tillägnad att dela med sig av sin kunskap och expertis med andra, och tillhandahåller lätta att följa tips och handledningar för att förbättra produktiviteten och effektiviteten. Oavsett om du är en erfaren proffs eller nybörjare, erbjuder Michaels blogg värdefulla insikter och praktiska råd för att få ut det mesta av dessa viktiga programvaruverktyg.