Naar inhoud
hulpbij
hulpbijsheets

Kringverwijzing in Google Sheets oplossen (2026)

Los een circulaire afhankelijkheid in Google Sheets op. Vind de terugkoppeling, herstel de formuleketen en gebruik iteratieve berekening alleen bewust.

Een circulaire afhankelijkheid ontstaat wanneer een formule direct of via andere cellen weer haar eigen uitkomst nodig heeft. Breek de terugkoppeling door de verwijzingsketen vanaf de foutcel te volgen en één formule zo te wijzigen dat gegevens nog maar in één richting stromen.

Herken een directe en indirecte kringverwijzing

Een directe kringverwijzing staat volledig in één formule. Staat deze formule in B2, dan vraagt B2 om haar eigen waarde:

=B2+A2

Hetzelfde kan minder opvallend in een bereik zitten. Een totaalformule in B10 bevat met B2:B10 ook zichzelf:

=SUM(B2:B10)

Een indirecte kring loopt via twee of meer cellen. Bijvoorbeeld:

B2: =C2+1
C2: =D2*2
D2: =B2

Geen formule noemt op het eerste gezicht uitsluitend zichzelf, maar de keten B2 > C2 > D2 > B2 sluit wel. De lus kan ook over tabbladen lopen:

Overzicht!B2: =Berekening!C2
Berekening!C2: =Overzicht!B2*0,21

De foutcode kan als #REF! verschijnen, maar een ontbrekende cel of verwijderd tabblad is een andere oorzaak. Gebruik de aparte uitleg als Google meldt dat een verwijzing niet bestaat.

Stappenplan: vind en breek de lus

1. Noteer de startcel en de volledige melding

Selecteer de gemarkeerde cel en noteer het tabblad, celadres en de formule uit de formulebalk. Maak bij een belangrijk bestand eerst een kopie of benoemde versie. Wijzig nog geen reeks formules tegelijk, want dan is achteraf niet duidelijk welke afhankelijkheid de fout veroorzaakte.

Controleer of de melding werkelijk een circulaire afhankelijkheid noemt. Verschijnt Formula parse error, herstel dan eerst de syntaxis met de parseerfout-decoder. Een formule die niet kan worden gelezen, heeft nog geen betrouwbare afhankelijkheidsketen om te onderzoeken.

2. Controleer de formulecel op een directe verwijzing

Zoek in de formule naar het eigen adres. Controleer niet alleen een losse verwijzing als B10, maar ook:

  • een bereik dat bij de formulecel eindigt, zoals B2:B10;
  • een hele kolom, zoals B:B, wanneer de formule zelf in kolom B staat;
  • een hele rij die de formulecel bevat;
  • een benoemd bereik dat de formulecel omvat;
  • een tabel- of arraybereik waarin de uitvoercel valt.

Herstel de grens op basis van de gegevenslogica. Een totaal in B10 over de waarden erboven wordt bijvoorbeeld:

=SUM(B2:B9)

Staan de echte bronwaarden in kolom A, dan hoort de resultaatformule mogelijk helemaal niet uit kolom B te lezen:

=SUM(A2:A10)

3. Volg indirecte verwijzingen één voor één

Schrijf de startcel bovenaan een tijdelijke lijst, bijvoorbeeld Overzicht!B2. Open de formule en voeg iedere genoemde formulecel daaronder toe. Herhaal dit totdat je:

  1. een vaste invoercel bereikt;
  2. een formule bereikt die alleen naar eerdere invoer verwijst;
  3. terugkomt bij een cel die al in de lijst staat.

In het derde geval heb je de lus gevonden. Markeer de kortste gesloten keten, want daar hoeft meestal maar één koppeling te worden gewijzigd. Een lange berekeningsketen is op zichzelf geen cirkel. Google legt in de officiële uitleg over gegevensverwijzingen en prestaties uit dat lange ketens wel trager kunnen zijn, omdat volgende cellen op eerdere berekeningen wachten.

4. Gebruik FORMULATEXT op een apart controletabblad

Bij veel geneste formules kun je op een leeg tabblad de formuletekst zichtbaar maken:

=FORMULATEXT(Overzicht!B2)

Herhaal dit voor iedere verdachte cel. FORMULATEXT retourneert volgens de officiële Google-documentatie wat in de formulebalk van de opgegeven cel staat. Geef steeds één cel door, want bij een bereik beoordeelt de functie alleen de cel linksboven.

Zet deze diagnose niet over de oorspronkelijke formule heen. Gebruik een controletabblad en noteer naast iedere formule de cellen waarnaar zij verwijst. Google behandelt het bijzondere geval waarin FORMULATEXT naar haar eigen cel kijkt zonder een cirkel te veroorzaken, maar dat maakt andere zelfverwijzingen niet geldig.

5. Controleer andere tabbladen en benoemde bereiken

Noteer altijd Tabblad!Cel in plaats van alleen het celadres. Twee tabbladen kunnen allebei B2 hebben en via een derde berekening toch een lus vormen. Controleer bij een tabbladnaam met spaties ook de volledige verwijzing, bijvoorbeeld:

='Ruwe data'!B2

Open bij benoemde bereiken Gegevens > Benoemde bereiken en controleer de werkelijke grenzen. Een naam als Omzet_totaal zegt niet of de formulecel onbedoeld in het bereik valt. Pas het bereik of de berekeningslocatie aan, maar verander de betekenis van de naam niet alleen om de foutmelding te laten verdwijnen.

6. Controleer OFFSET en andere dynamische bereiken

OFFSET bouwt een bereik vanaf een startcel, een rijverschuiving, een kolomverschuiving en optionele hoogte en breedte. Bereken de vier hoeken van het resulterende bereik en controleer of de formulecel daarin valt.

Google vermeldt in de officiële OFFSET-referentie expliciet dat gebruik als arrayformule een deel van het doel kan overschrijven en zo een circulaire verwijzing kan veroorzaken. Verplaats de uitvoer buiten het dynamische bereik of maak het bronbereik kleiner. Wijst de verschuiving buiten de boven- of linkerrand van het werkblad, dan is dat een gewone #REF!-situatie en geen bewijs voor een kring.

Controleer op dezelfde manier bereiken die door INDIRECT, tabelverwijzingen of benoemde functies worden samengesteld. Schrijf voor de diagnose tijdelijk het verwachte eindbereik uit als gewone A1-verwijzing. Zo zie je of de uitvoercel er onderdeel van is.

7. Maak de gegevensstroom één richting op

Een betrouwbaar model heeft afzonderlijke rollen:

  1. invoer, zoals aantallen of tarieven;
  2. berekening, die alleen invoer en eerdere tussenresultaten leest;
  3. uitvoer, die niet terugschrijft naar de eigen bron.

Verplaats een invoerwaarde daarom niet naar een cel die tegelijk het resultaat moet berekenen. Gebruik zo nodig een hulpkolom voor het vorige saldo of een aparte instellingencel voor een percentage. Google adviseert in de officiële prestatiehandleiding voor Sheets om herhaalde tussenberekeningen in een eigen cel te plaatsen en daarvanuit verder te verwijzen.

Cumulatieve totalen zonder kringverwijzing

Een veelvoorkomende fout is een lopend totaal in kolom B dat zijn eigen resultaatbereik optelt. Plaats de bronwaarden in A en bereken in B2:

=SUM($A$2:A2)

Vul deze formule omlaag. Iedere rij leest alleen de bronwaarden tot en met de actuele rij. De resultaatkolom komt niet in haar eigen invoerbereik.

Je kunt het cumulatieve resultaat ook als array laten berekenen met SCAN:

=SCAN(0;A2:A100;LAMBDA(acc;waarde;acc+waarde))

De officiële SCAN-documentatie beschrijft dat de accumulator bij iedere bronwaarde wordt bijgewerkt en dat de tussenresultaten als array worden teruggegeven. De LAMBDA moet precies twee argumentnamen accepteren en per stap één waarde opleveren. Houd de uitvoercellen onder de formule vrij. Is de uitvoerruimte geblokkeerd, gebruik dan de route voor een arrayresultaat dat niet kan worden uitgebreid.

Iteratieve berekening alleen bij een bewust model

Via Bestand > Instellingen > Berekening kun je iteratieve berekening instellen. Google omschrijft deze instelling als het aantal keren dat een formule met een circulaire verwijzing mag worden uitgevoerd in de officiële uitleg over land- en berekeningsinstellingen.

Schakel dit niet in om een onbekende fout te laten verdwijnen. Gebruik iteratie alleen als:

  • de terugkoppeling een gedocumenteerde wiskundige regel is;
  • je weet waarom het resultaat convergeert;
  • het maximum aantal iteraties en de convergentiedrempel bewust zijn gekozen;
  • een onafhankelijke controleberekening dezelfde uitkomst benadert;
  • nulwaarden, negatieve waarden en extreme invoer zijn getest.

De instelling geldt voor het spreadsheet en kan daardoor ook een nieuwe, onbedoelde kring laten doorrekenen. Documenteer de reden en de gekozen limieten op een zichtbaar controletabblad. Als je hetzelfde resultaat zonder zelfverwijzing kunt berekenen, heeft die oplossing de voorkeur.

Landinstelling en scheidingstekens controleren

De landinstelling van het spreadsheet bepaalt onder meer getal-, datum- en scheidingstekenkeuzes. Daardoor gebruikt jouw bestand mogelijk komma's waar het voorbeeld puntkomma's toont, of andersom. De functietaal kan daarnaast apart zijn ingesteld.

Een verschil in landinstelling maakt geen logische lus. Geeft een overgenomen formule een parseerfout, controleer dan via Bestand > Instellingen de landinstelling en volg de syntaxisuggestie van Sheets. Ga pas daarna op zoek naar een kringverwijzing. Lees voor bredere vertaalverschillen ook Excel-formules gebruiken in Google Sheets.

Validatie na de reparatie

Laat iteratieve berekening tijdens de controle uitgeschakeld, tenzij iteratie aantoonbaar onderdeel van het model is. Test daarna:

  1. een normale invoer;
  2. nul en een lege cel;
  3. een negatieve of uitzonderlijk hoge waarde als die is toegestaan;
  4. de eerste en laatste rij van ieder bereik;
  5. een toegevoegde rij;
  6. de uitkomst op elk betrokken tabblad;
  7. een herberekening na een kleine bronwijziging.

Controleer ook of het getal inhoudelijk klopt. Het verdwijnen van de melding bewijst alleen dat Sheets een berekeningsvolgorde heeft, niet dat je de juiste koppeling hebt verbroken.

Veelgemaakte fouten

  • Iteratieve berekening meteen inschakelen. Daarmee kan een ontwerpfout blijven bestaan en een schijnbaar stabiele uitkomst geven.
  • Alleen naar het eigen celadres zoeken. Een hele kolom, een benoemd bereik of een dynamisch bereik kan de formulecel indirect bevatten.
  • Stoppen bij het volgende tabblad. De keten kan via drie of meer tabbladen terugkomen bij de startcel.
  • Een grens willekeurig inkorten. Een foutvrije formule kan daardoor geldige bronrijen overslaan.
  • FORMULATEXT op een volledig bereik vertrouwen. De functie beoordeelt dan alleen de cel linksboven.
  • Een geblokkeerde array als gewone kring behandelen. Lees de detailmelding en houd de aparte uitvoerroute vrij.
  • Landinstelling en logica verwarren. Een verkeerd scheidingsteken veroorzaakt syntaxisproblemen, geen afhankelijkheidslus.
  • Alleen de foutmelding controleren. Test ook de rekenuitkomst, grensgevallen en downstreamformules.

Werk voortaan met duidelijke invoer-, berekenings- en uitvoerzones en benoem een versie vóór grote formulewijzigingen. Ga voor andere foutdecoders en praktische Sheets-uitleg terug naar de Google Sheets-hub.

Veelgestelde vragen

Wat betekent circulaire afhankelijkheid in Google Sheets?
Een formule is direct of via andere formulecellen weer afhankelijk van haar eigen uitkomst. Google Sheets kan daardoor geen gewone, eenmalige berekeningsvolgorde bepalen en toont een fout over een circulaire afhankelijkheid.
Hoe vind ik de cel die de kringverwijzing veroorzaakt?
Begin bij de gemarkeerde foutcel en volg iedere celverwijzing in de formule. Controleer per volgende formule of de keten terugkeert naar de startcel. Kijk ook naar volledige kolommen, bereikgrenzen, andere tabbladen en dynamische verwijzingen.
Kan een bereik zijn eigen formulecel bevatten?
Ja, en dat veroorzaakt een directe kringverwijzing. Staat de formule bijvoorbeeld in B10, dan bevat SUM(B2:B10) de formulecel zelf. Laat het bereik eindigen bij B9 of bereken het totaal uit een aparte bronkolom.
Kan een kringverwijzing over meerdere tabbladen lopen?
Ja. Overzicht!B2 kan verwijzen naar Berekening!C2, terwijl Berekening!C2 direct of via andere cellen weer Overzicht!B2 gebruikt. Noteer daarom tijdens de diagnose altijd zowel de tabbladnaam als het celadres.
Hoe helpt FORMULATEXT bij een circulaire afhankelijkheid?
FORMULATEXT toont de formule van één opgegeven cel als tekst. Zet de functie op een apart controletabblad en gebruik haar voor iedere verdachte cel, zodat je de verwijzingsketen kunt volgen zonder de oorspronkelijke formules te vervangen.
Kan SCAN een kringverwijzing bij een cumulatief totaal voorkomen?
Ja. SCAN houdt de vorige tussenuitkomst bij in een accumulator en leest de waarden uit een aparte bronreeks. Daardoor hoeft iedere resultaatcel niet naar de vorige resultaatcel of naar een bereik met zichzelf te verwijzen.
Moet ik iteratieve berekening inschakelen om de fout te stoppen?
Meestal niet. Herstel een onbedoelde lus in de formules. Schakel iteratieve berekening alleen in voor een bewust ontworpen iteratief model met een onderbouwde grens, convergentiedrempel en validatietest.
Veroorzaakt een andere landinstelling een kringverwijzing?
Nee. De landinstelling kan scheidingstekens, getalnotatie en datumnotatie veranderen, maar maakt geen logische afhankelijkheidslus. Een verkeerd scheidingsteken geeft eerder een parseerfout; controleer de landinstelling wel voordat je een formulevoorbeeld overneemt.

Lees ook

Hulp nodig bij jouw situatie?

Kom je er niet uit? Stuur kort wat context, wat je wilt bereiken en waar je vastloopt. Vraag een offerte aan als je wilt dat ik het voor je oplos.

w.bouwmeester@bouwmeesterconsultancy.nl · +31 6 28963636