REST
MOD in Engelstalige Excel
Geeft wat er overblijft na het delen van het ene getal door het andere, en is daarmee het hulpmiddel voor alles wat zich in cycli herhaalt.
Laatst bijgewerkt: 13 oktober 2026
| Rij | A | B | C | D |
|---|---|---|---|---|
| 1 | Boekstuk | Bedrag | Eenheid | Rest |
| 2 | 25-0412 | €12,500.00€ 12.500,00 | 1,0001.000 | 500500=REST(B2, C2)=REST(B2; C2) |
| 3 | 25-0413 | €48,000.00€ 48.000,00 | 1,0001.000 | |
| 4 | 25-0414 | €7,342.00€ 7.342,00 | 1,0001.000 | |
| 5 | 25-0415 | €30,250.00€ 30.250,00 | 500500 |
Veeg opzij om alle kolommen te zien
Resultaat: 500
=REST(B2,C2)
=REST(B2;C2)
Wat REST doet en wanneer je het gebruikt
Wat het doet: het geeft de rest na een deling, bijvoorbeeld de 6 flessen die overblijven als 150 flessen in kratten van 24 gaan.
Wanneer je het gebruikt: voor alles wat zich in een cyclus herhaalt: elke n-de rij, een rooster van drie mensen, uren voorbij middernacht, even of oneven getallen, controlecijfers. Heb je het aantal keren nodig dat de deler past, gebruik dan INTEGER of QUOTIENT.
Hoe Excel de functie berekent
Excel berekent eerst getal en deler. Is de deler 0, dan stopt Excel met #DEEL/0!. Anders berekent Excel getal - deler × INTEGER(getal / deler): het bepaalt hoeveel hele delers erin passen, rondt dat aantal naar beneden af en trekt ze eraf.
Omdat INTEGER naar beneden afrondt en niet in de richting van nul, heeft het resultaat altijd het teken van de deler: REST(-3; 24) is 21, niet -3. Dat is precies wat een klok nodig heeft, want 3 uur voor 00:00 is 21:00.
Let op: Excel geeft de rest het teken van de deler.
Denkmodel
Een wijzerplaat met evenveel posities als de deler: je zet zoveel stappen als getal aangeeft, vooruit bij een positief en achteruit bij een negatief getal, en REST is de plek waar je uitkomt.
Syntaxis
Officiële documentatie van RESTREST(getal,deler)
REST(getal;deler)
| Argument | Soort | Betekenis |
|---|---|---|
getal | Verplicht | Het getal dat je deelt; je krijgt de rest ervan terug. |
deler | Verplicht | De lengte van de cyclus; het resultaat ligt tussen 0 en dit getal, met zijn teken. |
Geeft terug:De rest van getal gedeeld door deler, met het teken van deler
Formules gebruiken komma's (,) tussen de argumenten, zoals in de Engelse Excel. Formules gebruiken puntkomma's (;) tussen de argumenten, zoals in de Nederlandse Excel. Formules gebruiken puntkomma's (;) tussen de argumenten, zoals in de Nederlandse Excel; de Engelse Excel gebruikt komma's (,).
Uitgewerkte voorbeelden
Beginner
Ronde bedragen in journaalposten
Journaalpostentest op de auditfile van Veldhuis Installatie BV: boekstukken met ronde bedragen verdienen extra aandacht. Per boekstuk kijk je hoeveel er overblijft na deling van het bedrag door een ronde eenheid, bij de meeste boekstukken 1000. Een rest van 0 betekent dat het bedrag een geheel veelvoud van die eenheid is.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Boekstuk | Bedrag | Eenheid | Rest | |
| 2 | 25-0412 | €12,500.00€ 12.500,00 | 1,0001.000 | 500500=REST(B2, C2)=REST(B2; C2) | |
| 3 | 25-0413 | €48,000.00€ 48.000,00 | 1,0001.000 | ||
| 4 | 25-0414 | €7,342.00€ 7.342,00 | 1,0001.000 | ||
| 5 | 25-0415 | €30,250.00€ 30.250,00 | 500500 | ||
| 6 |
Veeg opzij om alle kolommen te zien
Formule in D2
=REST(B2,C2)
=REST(B2;C2)
Resultaat: 500500
Stap voor stap
- Het argument getal is
B2(12,50012.500), deler isC2(1000). De deler is niet 0, dus Excel kan verder rekenen. - Excel bepaalt eerst hoeveel hele eenheden er passen: 12,50012.500 / 1000 = 12,5, naar beneden afgerond 12.
- Daarna trekt Excel die eenheden eraf: 12,50012.500 - 12 × 1000 = 12,50012.500 - 12,00012.000 = 500.
D2toont 500: het bedrag is niet rond. - Kopieer naar beneden.
D3: 48,00048.000 / 1000 = precies 48, dus 48,00048.000 - 48,00048.000 = 0: een rond bedrag, om op door te vragen.D4: 7342 / 1000 = 7,342, 7 hele eenheden, 7342 - 7000 = 342. D5gebruikt eenheid 500: 30,25030.250 / 500 = 60,5, 60 hele eenheden, 30,25030.250 - 30,00030.000 = 250. ZetC5op 250 enD5wordt 0, omdat 30,25030.250 precies 121 × 250 is.
Let op: Een rij zonder eenheid in kolom C geeft #DEEL/0!, omdat een lege cel als 0 telt.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant
Waarom het werkt
Een rest is per definitie wat geen hele eenheid meer vormt, dus hij is altijd kleiner dan de eenheid: 0 tot en met 999 bij 1000. Het aantal hele eenheden en de rest vormen samen weer het bedrag: 12 × 1000 + 500 = 12,50012.500. Een rest van 0 is daarom precies de toets voor 'een veelvoud van de eenheid'.
Meer om op te letten
- Creditbedragen staan in de export vaak negatief. REST(-7342; 1000) geeft 658 en niet 342, omdat het resultaat het teken van de deler krijgt. Toets op ABS(B2) als je debet- en creditregels vergelijkt.
Varianten
=REST(B2,C2) = 0
=REST(B2;C2) = 0
Maakt van de rest een markering: WAAR voor D3, het enige ronde bedrag bij eenheid 1000. Filter op WAAR om de boekstukken voor opvolging op een rij te krijgen.
Halfgevorderd
Boekjaarperiode bij een afwijkend boekjaar
Veldhuis Installatie BV heeft een boekjaar dat op 1 april begint. De export uit de auditfile geeft elke boeking haar kalendermaand, maar de periodeoverzichten van de klant en je afgrenzingstest werken met boekjaarperiodes 1 tot en met 12. De beginmaand aftrekken geeft 0 voor april en negatieve getallen voor januari tot en met maart; de formule moet die terugbrengen naar 1 tot en met 12, en je kopieert hem naar beneden.
| Rij | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| 1 | Boekstuk | Kalendermaand | Boekjaarperiode | Boekjaar begint in maand | 44 | ||
| 2 | 25-0102 | 22 | 1111=REST(B2 - $F$1, 12) + 1=REST(B2 - $F$1; 12) + 1 | ||||
| 3 | 25-0457 | 44 | |||||
| 4 | 25-0881 | 1212 | |||||
| 5 | 25-0123 | 33 | |||||
| 6 | 25-0690 | 99 | |||||
| 7 |
Veeg opzij om alle kolommen te zien
Formule in C2
=REST(B2 - $F$1,12) + 1
=REST(B2 - $F$1;12) + 1
Resultaat: 1111
Stap voor stap
- Excel berekent eerst getal: B2 - $F$1 = 2 - 4 = -2. Februari ligt twee maanden voor het begin van het boekjaar, en geen enkele periode heeft nummer -2.
- REST(-2; 12) bepaalt hoeveel hele jaren van 12 erin passen: -2 / 12 = -0,1667, naar beneden afgerond -1.
- Daarna trekt REST die jaren eraf: -2 - 12 × (-1) = -2 + 12 = 10. De rest krijgt het teken van de deler, 12, dus hij is positief. Er 1 bij optellen geeft 10 + 1 = 11: februari is boekjaarperiode 11.
- De + 1 is nodig omdat REST vanaf 0 telt en periodes vanaf 1. Zonder die + 1 zou april periode 0 zijn.
Kopieer naar beneden;
$F$1blijft vast. Vier voorbeelden:- april: 4 - 4 = 0, REST(0; 12) = 0, periode 1
- december: 12 - 4 = 8, periode 9
- maart: 3 - 4 = -1, REST(-1; 12) = 11, periode 12
- september: 9 - 4 = 5, periode 6
- Zet
F1op 1 (een boekjaar gelijk aan het kalenderjaar) en februari wordt REST(2 - 1; 12) + 1 = 1 + 1 = 2: de boekjaarperiode is gelijk aan de kalendermaand.
Let op: REST geeft de periode, niet het boekjaar. Januari 2026 is periode 10, maar hoort bij het boekjaar dat op 1 april 2025 begon. Filter je ook op jaar, leid het jaar dan apart af.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant
Waarom het werkt
Maanden vormen een cyclus van 12, en REST met deler 12 beeldt elk geheel getal, positief of negatief, af op 0 tot en met 11. Omdat de deler positief is, komen de maanden voor de beginmaand uit als het einde van het boekjaar, zonder ALS. De absolute $F$1 houdt de beginmaand in één cel, zodat dezelfde formule werkt voor een klant met een ander boekjaar.
Meer om op te letten
- De auditfile kan al een periodekolom hebben op basis van de kalender van de klant, inclusief bijzondere periodes zoals 13 voor afsluitboekingen. Vergelijk je uitkomst eerst daarmee en overschrijf die kolom niet.
Varianten
=ALS(B2 >= $F$1,B2 - $F$1 + 1, B2 - $F$1 + 13)
=ALS(B2 >= $F$1;B2 - $F$1 + 1; B2 - $F$1 + 13)
Hetzelfde resultaat zonder REST: 11 voor februari. Langer en gevoeliger voor fouten, maar het laat zien wat de terugloop doet.
Gevorderd
Steekproefnota's verdelen over het controleteam
Je hebt zes verkoopfacturen uit de XAF-export van Veldhuis Installatie BV geselecteerd voor een controle op onderliggende stukken. Drie teamleden verdelen het werk en nemen om de beurt één factuur. Je wilt één formule die bij elke factuur de naam invult en door de drie namen blijft rouleren, hoe groot de steekproef ook wordt.
| Rij | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 1 | Factuurnummer | Bedrag | Getest door | Team | ||
| 2 | VF-25-1041 | €18,450.00€ 18.450,00 | Sanne de Vries=INDEX($E$2:$E$4, REST(RIJ(A2) - RIJ($A$2), 3) + 1)=INDEX($E$2:$E$4; REST(RIJ(A2) - RIJ($A$2); 3) + 1) | Sanne de Vries | ||
| 3 | VF-25-1077 | €2,310.00€ 2.310,00 | Daan Bakker | |||
| 4 | VF-25-1102 | €9,875.00€ 9.875,00 | Fatma Yilmaz | |||
| 5 | VF-25-1130 | €64,200.00€ 64.200,00 | ||||
| 6 | VF-25-1158 | €5,120.00€ 5.120,00 | ||||
| 7 | VF-25-1183 | €31,790.00€ 31.790,00 | ||||
| 8 |
Veeg opzij om alle kolommen te zien
Formule in C2
=INDEX($E$2:$E$4,REST(RIJ(A2) - RIJ($A$2), 3) + 1)
=INDEX($E$2:$E$4;REST(RIJ(A2) - RIJ($A$2); 3) + 1)
Resultaat: Sanne de Vries
Stap voor stap
- Excel berekent eerst de binnenste functies. RIJ(A2) is 2 en RIJ($A$2) is 2, dus het verschil is 0: dit is de eerste factuur van de steekproef.
- REST(0; 3) is 0. Er 1 bij optellen geeft positie 1, omdat INDEX vanaf 1 telt terwijl REST vanaf 0 telt.
- INDEX($E$2:$E$4; 1) geeft de eerste naam in de teamlijst: Sanne de Vries, in
C2. - Kopieer naar beneden. In
C3is het verschil 1, REST(1; 3) = 1, positie 2: Daan Bakker. InC4is het 2, REST(2; 3) = 2, positie 3: Fatma Yilmaz. - In
C5is het verschil 3, en REST(3; 3) = 0: de cyclus begint opnieuw bij positie 1, Sanne de Vries voor factuurVF-25-1130.C6geeft Daan Bakker enC7Fatma Yilmaz. - Zet een vierde persoon in
E5, verander$E$2:$E$4in$E$2:$E$5en de 3 in 4, en het werk wordt over vier personen verdeeld zonder dat je de factuurlijst aanraakt.
Let op: REST(RIJ(A2); 3) + 1 zonder de eerste rij af te trekken lijkt gelijkwaardig, maar begint bij positie 3: Fatma Yilmaz krijgt de eerste factuur. Er verschijnt geen foutmelding, de hele verdeling is verschoven, en een rij invoegen boven de tabel verschuift haar opnieuw.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 2 varianten
Waarom het werkt
RIJ min de RIJ van de eerste gegevenscel is een teller die bij de eerste factuur op 0 begint en per rij 1 oploopt. REST met de teamgrootte vouwt die teller tot 0, 1, 2, 0, 1, 2, en de + 1 zet dat om in de posities vanaf 1 die INDEX verwacht. De absolute $A$2 verankert de teller, zodat rijen invoegen boven de tabel de verdeling niet verschuift.
Meer om op te letten
- Pas je de teamgrootte in het bereik aan maar vergeet je de 3, dan blijft REST door drie namen rouleren: de vierde persoon krijgt nooit een factuur, zonder enige waarschuwing. Vervang de 3 door RIJEN($E$2:$E$4), zodat beide hetzelfde bereik volgen.
Varianten
=INDEX($E$2:$E$4,REST(RIJ(A2) - RIJ($A$2), RIJEN($E$2:$E$4)) + 1)
=INDEX($E$2:$E$4;REST(RIJ(A2) - RIJ($A$2); RIJEN($E$2:$E$4)) + 1)
De teamgrootte wordt uit het bereik gelezen, dus een naam toevoegen aan de teamlijst is voldoende. Het resultaat voor C2 blijft hetzelfde: Sanne de Vries.
=REST(RIJ(A2) - RIJ($A$2),3) = 0
=REST(RIJ(A2) - RIJ($A$2);3) = 0
Een cyclus van 3 als toets: WAAR voor de 1e, 4e, 7e factuur, de basis van een systematische selectie van elk derde item uit een populatie.
ExpertExcel 2021 of nieuwer (Dit voorbeeld vereist Excel 2021 of nieuwer)
Leveranciersrekeningnummers controleren met een elfproef
In het crediteurenbestand van Veldhuis Installatie BV hebben sommige leveranciers nog een oud rekeningnummer van 9 cijfers dat zo is opgebouwd dat het de elfproef doorstaat: vermenigvuldig de cijfers met 9, 8, 7 tot en met 1, tel de producten op, en het totaal moet deelbaar zijn door 11. Een tikfout of twee verwisselde cijfers vallen dan door de mand. Voordat je betalingen test, wil je elk nummer markeren dat de proef niet haalt, ook nummers met de verkeerde lengte.
| Rij | A | B | C | D |
|---|---|---|---|---|
| 1 | Rekeningnummer | Leverancier | Geldig nummer | |
| 2 | 123456789 | Bakker Staalhandel BV | WAAR=LET( brontekst, A2, cijfers, --DEEL(brontekst, REEKS(9), 1), gewichten, REEKS(9, 1, 9, -1), ALS(LENGTE(brontekst) <> 9, ONWAAR, REST(SOMPRODUCT(cijfers, gewichten), 11) = 0) )=LET( brontekst; A2; cijfers; --DEEL(brontekst; REEKS(9); 1); gewichten; REEKS(9; 1; 9; -1); ALS(LENGTE(brontekst) <> 9; ONWAAR; REST(SOMPRODUCT(cijfers; gewichten); 11) = 0) ) | |
| 3 | 123456798 | De Groot Transport BV | ||
| 4 | 538469994 | Smit Kantoorinrichting BV | ||
| 5 | 12345678 | Jansen Schoonmaak BV | ||
| 6 | 853194130 | Van Dijk IT Services BV | ||
| 7 | 853194180 | Peters Verpakkingen BV | ||
| 8 |
Veeg opzij om alle kolommen te zien
Formule in C2
=LET( brontekst,A2, cijfers, --DEEL(brontekst, REEKS(9), 1), gewichten, REEKS(9, 1, 9, -1), ALS(LENGTE(brontekst) <> 9, ONWAAR, REST(SOMPRODUCT(cijfers, gewichten), 11) = 0) )
=LET( brontekst;A2; cijfers; --DEEL(brontekst; REEKS(9); 1); gewichten; REEKS(9; 1; 9; -1); ALS(LENGTE(brontekst) <> 9; ONWAAR; REST(SOMPRODUCT(cijfers; gewichten); 11) = 0) )
Resultaat: WAAR
Stap voor stap
- LET geeft het nummer een naam: brontekst is
A2,123456789. cijfers neemt DEEL(brontekst; REEKS(9); 1): REEKS(9) is {1; 2; ...; 9}, dus DEEL haalt elk teken eruit, en het dubbele minteken maakt van de teksten getallen {1; 2; 3; 4; 5; 6; 7; 8; 9}. - gewichten is REEKS(9; 1; 9; -1): 9 rijen, 1 kolom, beginnend bij 9, stap -1, dus {9; 8; 7; 6; 5; 4; 3; 2; 1}.
- ALS controleert eerst de lengte. LENGTE(brontekst) is 9, dus ALS gaat door naar de proef. SOMPRODUCT(cijfers; gewichten) = 1×9 + 2×8 + 3×7 + 4×6 + 5×5 + 6×4 + 7×3 + 8×2 + 9×1 = 9 + 16 + 21 + 24 + 25 + 24 + 21 + 16 + 9 = 165.
- REST(165; 11): 165 / 11 = precies 15, dus de rest is 0, en 0 = 0 is WAAR.
C2toont WAAR: het nummer is geldig. - Kopieer naar beneden. In
A3zijn de laatste twee cijfers verwisseld: het totaal wordt 166, REST(166; 11) = 1, dus ONWAAR.A4komt op 264 enA6op 209, allebei veelvouden van 11, dus WAAR. InA7staat op positie 8 een 8 in plaats van een 3: 209 + 5 × 2 = 219, REST(219; 11) = 10, ONWAAR. - Rij 5 bevat
12345678, 8 tekens. LENGTE is 8, dus ALS geeft ONWAAR zonder cijfers te gebruiken. Zonder die controle zou DEEL voor positie 9 lege tekst teruggeven, zou het dubbele minteken daar #WAARDE! van maken en zou de cel een foutwaarde tonen in plaats van een duidelijke ONWAAR.
Let op: De omgekeerde fout zijn gewichten in de verkeerde richting, REEKS(9), wat 1 tot en met 9 geeft in plaats van 9 tot en met 1. Voor 123456789 wordt het totaal dan 285 en REST(285; 11) is 10, dus een geldig nummer wordt afgekeurd, en sommige ongeldige nummers komen erdoor.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 1 variant
Waarom het werkt
REST met 11 brengt het gewogen totaal terug tot een rest van 0 tot en met 10, en een geldig nummer is een nummer met rest 0. Omdat elke positie een ander gewicht heeft en 11 een priemgetal is, verandert één ander cijfer of twee verwisselde buren altijd de rest, en daarom vangt de proef de gebruikelijke tikfouten. LET verdeelt het werk over benoemde matrices, zodat je de gewichten met het oog kunt controleren.
Gebruik deze opbouw niet voor lange nummers zoals IBAN's: Excel bewaart maar 15 significante cijfers, dus een getal van 20 cijfers dat je direct in REST gebruikt, is zijn laatste cijfers al kwijt. Het alternatief is zo'n nummer in stukken van een paar cijfers te verwerken en de rest van elk stuk mee te nemen naar het volgende; meer werk om te bouwen, maar exact bij elke lengte.
Meer om op te letten
- Een nummer van negen nullen telt op tot 0, en REST(0; 11) is 0, dus
000000000komt erdoor. Voeg een test toe zoals brontekst <> "000000000" als er opvulnummers in het stambestand worden getypt. - Verwissel je de argumenten, REST(11; totaal), dan krijg je 11 voor elk totaal boven 11, nooit 0, en wordt elk nummer afgekeurd.
Varianten
=REST(SOMPRODUCT(--DEEL(A2,{1; 2; 3; 4; 5; 6; 7; 8; 9}, 1), {9; 8; 7; 6; 5; 4; 3; 2; 1}), 11) = 0
=REST(SOMPRODUCT(--DEEL(A2;{1; 2; 3; 4; 5; 6; 7; 8; 9}; 1); {9; 8; 7; 6; 5; 4; 3; 2; 1}); 11) = 0
Werkt in elke Excel-versie, met matrixconstanten in plaats van REEKS en zonder de lengtecontrole. Korter, maar een nummer van 8 tekens geeft #WAARDE! in plaats van ONWAAR.
Veelgemaakte fouten
| Symptoom | Oorzaak | Oplossing |
|---|---|---|
| REST(-7; 3) geeft 2, niet -1 | REST(-7; 3) geeft 2, terwijl je -1 verwachtte. | Heb je het teken van het getal nodig, gebruik dan -7 - 3 * GEHEEL(-7 / 3), wat -1 geeft. |
| #DEEL/0! waar de deler leeg is | Een kolom met REST-resultaten toont #DEEL/0! in de rijen waar de cel met de cycluslengte leeg is. | Een lege deler telt als 0. Vul hem in, of zet de verwijzing vast met $, zodat elke rij dezelfde cel leest. |
| Nachtdienst toont ##### of een negatieve tijd | Een nachtdienst van 22:00 tot 06:00, berekend als einde - begin, toont ##### of een negatief getal. | Tijden zijn delen van een dag, en 0,25 - 0,9167 is negatief. REST(einde - begin; 1) brengt het terug binnen één dag: 0,3333, en dat is 8 uur. |
Gebruikt in combinaties
- Boekingen met ronde bedragen vinden met FILTER, REST, AFRONDEN en ABSMarkeer grootboekregels waarvan het bedrag een exact veelvoud van 1.000 is (en boven een minimum ligt): ABS haalt het teken weg, AFRONDEN haalt kleine rekenverschillen weg, REST toetst het veelvoud en FILTER toont de regels.Excel 2021 of nieuwer (Deze combinatie vereist Excel 2021 of nieuwer)