WERKDAG
WORKDAY in Engelstalige Excel
Geeft de datum die een aantal werkdagen na of vóór een begindatum ligt, waarbij weekenden en de feestdagen die je opgeeft worden overgeslagen.
Laatst bijgewerkt: 13 oktober 2026
| Rij | A | B | C | D |
|---|---|---|---|---|
| 1 | Factuur | Leverancier | Factuurdatum | Vervaldatum |
| 2 | 26-0102 | Kabelgroothandel Smit | 02-02-2026 | 16-02-202616-02-2026=WERKDAG(C2, 10)=WERKDAG(C2; 10) |
| 3 | 26-0118 | Pijp & Fitting Aalbers | 12-02-2026 | |
| 4 | 26-0131 | Elektra Onderdelen Yilmaz | 20-02-2026 | |
| 5 | 26-0156 | Gereedschap Raman | 04-03-2026 |
Veeg opzij om alle kolommen te zien
Resultaat: 16-02-2026
=WERKDAG(C2,10)
=WERKDAG(C2;10)
Wat WERKDAG doet en wanneer je het gebruikt
Wat het doet: het geeft de datum die een aantal werkdagen van een begindatum af ligt, bijvoorbeeld de vervaldatum 10 werkdagen na een factuurdatum.
Wanneer je de functie gebruikt: voor vervaldatums, deadlines en toetsperioden die in werkdagen zijn uitgedrukt. Zaterdagen, zondagen en de feestdagen die je opgeeft tellen nooit mee. Voor een ander weekend gebruik je WERKDAG.INTL, voor het aantal werkdagen tussen twee datums NETTO.WERKDAGEN en voor een datum een aantal maanden verderop ZELFDE.DAG.
Hoe Excel de functie berekent
Excel leest de begindatum als serieel getal en negeert een eventuele tijd. Daarna loopt het dag voor dag verder, vooruit bij een positief aantal dagen en achteruit bij een negatief aantal, en het telt een dag alleen mee als die op maandag tot en met vrijdag valt en niet in feestdagen staat.
De begindatum zelf telt nooit mee, dus dag 1 is de eerste meetellende dag erna. Zodra het aantal dagen bereikt is, is de datum van die laatste meetellende dag het resultaat. Bij 0 dagen valt er niets te tellen en komt de begindatum ongewijzigd terug, ook als die in het weekend ligt.
Let op: De begindatum zelf telt nooit mee, dus dag 1 is de eerste werkdag erna.
Denkmodel
Je loopt langs een kalender en stapt over zaterdagen, zondagen en gemarkeerde feestdagen heen zonder ze te tellen; je stopt op de dag van je n-de getelde stap.
Begrippen op deze pagina: serieel getal, bereik
WERKDAG(begindatum,dagen, [feestdagen])
WERKDAG(begindatum;dagen; [feestdagen])
| Argument | Soort | Betekenis |
|---|---|---|
begindatum | Verplicht | De datum waarvan wordt uitgegaan. |
dagen | Verplicht | Het aantal werkdagen dat erbij komt; negatief gaat terug. |
feestdagen | Optioneel | Een bereik met datums die worden overgeslagen. |
Geeft terug:Een datum (serieel getal): de dag waarop het aantal werkdagen vol is
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
Vervaldatums van inkoopfacturen, 10 werkdagen
Voor Veldhuis Installatie BV toets je of leveranciers op tijd zijn betaald. In alle leveranciersafspraken staat dat betaald wordt binnen 10 werkdagen na de factuurdatum. Je berekent daarom in kolom D de vervaldatum van elke factuur om die te vergelijken met de betaaldatum uit het bankbestand.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Factuur | Leverancier | Factuurdatum | Vervaldatum | |
| 2 | 26-0102 | Kabelgroothandel Smit | 02-02-2026 | 16-02-202616-02-2026=WERKDAG(C2, 10)=WERKDAG(C2; 10) | |
| 3 | 26-0118 | Pijp & Fitting Aalbers | 12-02-2026 | ||
| 4 | 26-0131 | Elektra Onderdelen Yilmaz | 20-02-2026 | ||
| 5 | 26-0156 | Gereedschap Raman | 04-03-2026 | ||
| 6 |
Veeg opzij om alle kolommen te zien
Formule in D2
=WERKDAG(C2,10)
=WERKDAG(C2;10)
Resultaat: 16-02-2026
Stap voor stap
C2bevat maandag 2 februari 2026, serieel getal 46055. Dat is de begindatum, en dagen is 10.- De begindatum telt niet mee. Dinsdag 3 februari is werkdag 1, woensdag is 2, donderdag is 3 en vrijdag 6 februari is 4.
- Zaterdag 7 en zondag 8 februari worden overgeslagen. Maandag 9 februari is 5, dinsdag is 6, woensdag is 7, donderdag is 8 en vrijdag 13 februari is 9.
- Ook het volgende weekend wordt overgeslagen. Maandag 16 februari is werkdag 10, dus de telling is klaar: het resultaat is 16 februari 2026, serieel getal 46069, oftewel 46055 + 14.
D2heeft een datumnotatie, dus de cel toont 16-02-2026 in plaats van 46069. Kopieer naar beneden:26-0118(donderdag 12 februari) wordt donderdag 26 februari,26-0131(vrijdag 20 februari) wordt vrijdag 6 maart en26-0156(woensdag 4 maart) wordt woensdag 18 maart.
Let op: Is een factuurdatum als tekst geïmporteerd, bijvoorbeeld "02-02-2026" links uitgelijnd in de cel, dan leest Excel die meestal als datum volgens de regio-instelling. Het echte risico is een stille verwisseling van dag en maand ("02-03-2026" gelezen als 3 februari in plaats van 2 maart), of tekst die Excel niet kan lezen en die #WAARDE! geeft. Zet de kolom eerst om naar echte datums.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 2 varianten
Waarom het werkt
WERKDAG telt werkdagen, geen kalenderdagen, dus elk weekend binnen de periode schuift de datum 2 dagen op. Bij 10 werkdagen, geen feestdagen en een begindatum op een werkdag is dat precies twee kalenderweken, en daarom valt hier elke vervaldatum op dezelfde weekdag als de factuurdatum.
Meer om op te letten
- Lees 10 werkdagen niet als 14 kalenderdagen in een periode met een feestdag. Die twee zijn alleen gelijk als er geen feestdag in de periode valt.
Varianten
=WERKDAG(C2 - 1,10)
=WERKDAG(C2 - 1;10)
Gebruik dit als het contract de factuurdatum zelf als dag 1 telt. Voor 26-0102 wordt de vervaldatum vrijdag 13 februari in plaats van maandag 16 februari.
=C2 + 14
=C2 + 14
Gebruik dit als de afspraak 14 dagen zegt en geen werkdagen. Het houdt geen rekening met weekenden en is dus de verkeerde toets voor een termijn in werkdagen.
Halfgevorderd
Vervaldatums van verkoopfacturen rond Nederlandse feestdagen
Veldhuis Installatie BV geeft klanten een betaaltermijn van 10 werkdagen, vastgelegd in J1. Voor de ouderdomsanalyse van de debiteuren bereken je elke vervaldatum opnieuw en sla je de Nederlandse feestdagen in F2:F6 over:
- eerste kerstdag
- tweede kerstdag
- nieuwjaarsdag
- tweede paasdag
- Koningsdag
Factuur V-25-0921 heeft een zaterdag als datum.
| Rij | A | B | C | D | E | F | G | H | I | J | K |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Factuur | Klant | Factuurdatum | Vervaldatum | Feestdagen | Termijn (werkdagen) | 1010 | ||||
| 2 | V-25-0910 | De Boer Bouw | 12-12-2025 | 25-12-2025 | Eerste kerstdag | ||||||
| 3 | V-25-0921 | Woonstichting Zuidwijk | 20-12-2025 | 07-01-202607-01-2026=WERKDAG(C3, $J$1, $F$2:$F$6)=WERKDAG(C3; $J$1; $F$2:$F$6) | 26-12-2025 | Tweede kerstdag | |||||
| 4 | V-26-0204 | Kramer Vastgoed | 27-03-2026 | 01-01-2026 | Nieuwjaarsdag | ||||||
| 5 | V-26-0229 | Hotel Maasoever | 14-04-2026 | 06-04-2026 | Tweede paasdag | ||||||
| 6 | 27-04-2026 | Koningsdag | |||||||||
| 7 |
Veeg opzij om alle kolommen te zien
Formule in D3
=WERKDAG(C3,$J$1, $F$2:$F$6)
=WERKDAG(C3;$J$1; $F$2:$F$6)
Resultaat: 07-01-2026
Stap voor stap
- De formule staat in
D3, dusC3is zaterdag 20 december 2025. Het aantal dagen komt uit$J$1(10) en de feestdagen uit$F$2:$F$6; beide zijn vergrendeld, zodat ze niet verschuiven als je naar beneden kopieert. - De begindatum is een zaterdag. De telling begint bij de dag erna en weekenddagen tellen nooit, dus maandag 22 december is werkdag 1, dinsdag is 2 en woensdag 24 december is 3. Dat is hetzelfde als bij een factuur van vrijdag 19 december.
- Donderdag 25 en vrijdag 26 december staan in
F2:F3en worden overgeslagen, net als zaterdag en zondag. Maandag 29 december is 4, dinsdag is 5 en woensdag 31 december is 6. - Donderdag 1 januari 2026 staat in
F4en wordt overgeslagen. Vrijdag 2 januari is 7, het weekend valt weg, maandag 5 januari is 8, dinsdag is 9 en woensdag 7 januari is 10. Het resultaat is 7 januari 2026. - Zonder het argument feestdagen was het resultaat vrijdag 2 januari 2026 geweest: drie werkdagen te vroeg, waardoor de klant als te laat wordt getoond terwijl de termijn nog loopt.
- Kopieer naar beneden.
V-25-0910(vrijdag 12 december) wordt dinsdag 30 december.V-26-0204(vrijdag 27 maart) wordt maandag 13 april, omdat tweede paasdag (6 april) wordt overgeslagen.V-26-0229(dinsdag 14 april) wordt woensdag 29 april, omdat Koningsdag op maandag 27 april wordt overgeslagen.
Let op: De lijst bevat alleen de feestdagen van deze periode. Voor facturen uit een ander jaar kloppen de datums niet: Pasen, Hemelvaart en Pinksteren schuiven elk jaar. Voeg de datums van het nieuwe jaar toe voordat je de formule voor oudere of nieuwere facturen gebruikt.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen
Waarom het werkt
Het argument feestdagen neemt de hele lijst als één bereik, en Excel laat alleen de datums wegvallen die op een meetellende werkdag liggen, dus een feestdag in het weekend doet geen kwaad. Met de termijn in J1 en de feestdagen in F2:F6 werkt één wijziging door in elke rij, en de lijst kun je in dezelfde werkmap voor andere datumfuncties hergebruiken.
Meer om op te letten
- Goede Vrijdag is geen nationale feestdag, dus WERKDAG telt die mee tenzij je de dag toevoegt. Is de cliënt die dag gesloten, zet de datum dan in de lijst; anders zit
V-26-0204een dag ernaast. - Begint het bereik met feestdagen bij
F1, dan geeft de koptekst een #WAARDE! in de formule. Laat het bereik bij de eerste datum beginnen.
Gevorderd
Begin van de laatste 5 werkdagen van elke maand
Bij de afgrenzingstoets op de omzet van Veldhuis Installatie BV selecteer je facturen uit de laatste 5 werkdagen van elke maand. Per maand heb je de eerste dag van dat venster nodig.
Uit de grootboekextractie ken je een datum in de maand; de feestdagen staan in H2:H4 en het aantal werkdagen in F1.
| Rij | A | B | C | D | E | F | G | H | I | J |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Maand | Datum extractie | Venster begint | Werkdagen in venster | 55 | Feestdagen | ||||
| 2 | Maart | 18-03-2026 | 27-04-2026 | Koningsdag | ||||||
| 3 | April | 09-04-2026 | 14-05-2026 | Hemelvaartsdag | ||||||
| 4 | Mei | 12-05-2026 | 22-05-202622-05-2026=WERKDAG(LAATSTE.DAG(B4, 0) + 1, -$F$1, $H$2:$H$4)=WERKDAG(LAATSTE.DAG(B4; 0) + 1; -$F$1; $H$2:$H$4) | 25-05-2026 | Tweede pinksterdag | |||||
| 5 | Juni | 16-06-2026 | ||||||||
| 6 |
Veeg opzij om alle kolommen te zien
Formule in C4
=WERKDAG(LAATSTE.DAG(B4,0) + 1, -$F$1, $H$2:$H$4)
=WERKDAG(LAATSTE.DAG(B4;0) + 1; -$F$1; $H$2:$H$4)
Resultaat: 22-05-2026
Stap voor stap
- De formule staat in
C4, dusB4is dinsdag 12 mei 2026.$F$1is 5 en$H$2:$H$4bevat de drie feestdagen. - Van binnen naar buiten: LAATSTE.DAG(B4; 0) gaat naar de laatste dag van mei, zondag 31 mei 2026.
- Met + 1 kom je op maandag 1 juni 2026, de dag na de periode. Dat is de begindatum voor WERKDAG: de begindatum zelf telt niet mee en de laatste dag van de maand moet wel kunnen meetellen.
- -
$F$1is -5, dus WERKDAG stapt achteruit. Zondag 31 mei en zaterdag 30 mei worden overgeslagen; vrijdag 29 mei is 1, donderdag is 2, woensdag is 3 en dinsdag 26 mei is 4. - Maandag 25 mei staat in
$H$2:$H$4(tweede pinksterdag) en wordt overgeslagen, net als het weekend ervoor. Vrijdag 22 mei is 5. Het resultaat is 22 mei 2026, dus het venster loopt van 22 tot en met 29 mei: de werkdagen 22, 26, 27, 28 en 29. - Kopieer naar beneden. Maart geeft woensdag 25 maart, april geeft donderdag 23 april (Koningsdag op maandag 27 april wordt overgeslagen) en juni geeft woensdag 24 juni.
Let op: Laat je het argument feestdagen weg, dan komt er geen foutmelding. Mei zou beginnen op maandag 25 mei en april op vrijdag 24 april, waardoor de vensters maar 4 werkdagen bevatten en facturen aan het begin van het venster uit je toets vallen.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 1 variant
Waarom het werkt
Een negatief aantal dagen laat WERKDAG terugkijken vanaf een datum, en door te beginnen bij de dag na het maandeinde kan de laatste dag van de maand als eerste meetellen, of dat nu een werkdag is of niet. LAATSTE.DAG vindt dat maandeinde vanaf elke datum in de maand, dus de extractiedatum hoeft niet de laatste dag te zijn.
Meer om op te letten
- Een andere fout is het weglaten van + 1. Voor mei lijkt het goed, want die maand eindigt op een zondag, maar juni eindigt op dinsdag 30 juni en WERKDAG(30 juni; -5) geeft dinsdag 23 juni: een venster van 6 werkdagen.
- Schrijf je
$F$1zonder minteken, dan gaat de formule vooruit en komt de datum zonder waarschuwing in de volgende maand terecht.
Varianten
=WERKDAG(LAATSTE.DAG(B4,0), $F$1, $H$2:$H$4)
=WERKDAG(LAATSTE.DAG(B4;0); $F$1; $H$2:$H$4)
Het venster na het maandeinde: de 5e werkdag na het maandeinde, voor de periode van gebeurtenissen na balansdatum. Voor de rij van mei is dat vrijdag 5 juni 2026.
ExpertExcel 2010 of nieuwer (Dit voorbeeld vereist Excel 2010 of nieuwer)
Hersteltermijnen voor een servicebalie die zondag en maandag dicht is
De servicebalie van Veldhuis Installatie BV werkt van dinsdag tot en met zaterdag en belooft een reparatie binnen 3 werkdagen na de melding af te ronden. Je toetst die servicenorm voor de onderstaande regels. De feestdagen staan in G2:G3 en de 3 dagen in G1.
Melding T-3103 is gedaan op zaterdag 9 mei 2026 en afgerond op vrijdag 15 mei.
| Rij | A | B | C | D | E | F | G | H |
|---|---|---|---|---|---|---|---|---|
| 1 | Melding | Gemeld | Afgerond | Binnen de norm? | Norm (werkdagen) | 33 | ||
| 2 | T-3101 | 06-05-2026 | 09-05-2026 | Feestdagen | 14-05-2026 | |||
| 3 | T-3102 | 08-05-2026 | 15-05-2026 | 25-05-2026 | ||||
| 4 | T-3103 | 09-05-2026 | 15-05-2026 | Op tijd=ALS(C4 > WERKDAG.INTL(B4, $G$1, "1000001", $G$2:$G$3), "Te laat", "Op tijd")=ALS(C4 > WERKDAG.INTL(B4; $G$1; "1000001"; $G$2:$G$3); "Te laat"; "Op tijd") | ||||
| 5 | T-3104 | 18-05-2026 | 22-05-2026 | |||||
| 6 | T-3105 | 22-05-2026 | 27-05-2026 | |||||
| 7 |
Veeg opzij om alle kolommen te zien
Formule in D4
=ALS(C4 > WERKDAG.INTL(B4,$G$1, "1000001", $G$2:$G$3), "Te laat", "Op tijd")
=ALS(C4 > WERKDAG.INTL(B4;$G$1; "1000001"; $G$2:$G$3); "Te laat"; "Op tijd")
Resultaat: Op tijd
Stap voor stap
- De formule staat in
D4, dusB4is zaterdag 9 mei 2026 enC4is vrijdag 15 mei. De norm in$G$1is 3 en$G$2:$G$3bevat de feestdagen donderdag 14 mei en maandag 25 mei. - De weekendtekst "
1000001" heeft 7 tekens, één per dag van maandag tot en met zondag. Een 1 betekent vrij: maandag (eerste teken) en zondag (laatste teken). Dinsdag tot en met zaterdag zijn werkdagen, dus zaterdag 9 mei is voor deze balie een werkdag zoals elke andere. - WERKDAG.INTL telt de begindatum niet mee. Zondag 10 en maandag 11 mei zijn gesloten. Dinsdag 12 mei is werkdag 1 en woensdag 13 mei is 2.
- Donderdag 14 mei staat in
$G$2:$G$3en wordt overgeslagen. Vrijdag 15 mei is werkdag 3, dus de deadline is vrijdag 15 mei 2026. - ALS vergelijkt
C4, vrijdag 15 mei, met die deadline, vrijdag 15 mei.C4ligt niet na de deadline, dus de test is ONWAAR en de formule geeft de tekst voor op tijd. Een reparatie op de dag van de deadline voldoet nog aan de norm. WERKDAG, dat zaterdag en zondag als weekend telt, zou voor deze melding woensdag 13 mei geven (maandag 11 mei is 1, dinsdag is 2, woensdag is 3) en de melding als te laat aanmerken.
Kopieer naar beneden:
T-3102heeft deadline woensdag 13 mei en is op 15 mei afgerond, dus te laat;T-3104is gemeld op een gesloten maandag en heeft deadline donderdag 21 mei, dus afronden op 22 mei is te laat.
Let op: Een andere fout is WERKDAG gebruiken, of de standaardcode 1 voor het weekend, bij deze balie. Dat geeft geen foutmelding, behandelt zaterdag als gesloten en maandag als open, en verschuift de deadline van T-3103 naar woensdag 13 mei, waardoor T-3103 als te laat wordt gemeld terwijl de norm is gehaald.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 2 varianten
Waarom het werkt
WERKDAG.INTL neemt het weekend als code of als tekst van 7 tekens, dus elk patroon van vrije dagen kan; WERKDAG kan dat niet, omdat het weekend daar vastligt op zaterdag en zondag. Doordat de functie binnen de ALS staat, zitten deadline en toets in één cel en is geen hulpkolom nodig.
Gebruik deze opbouw niet als de norm in uren luidt of als elke monteur een eigen rooster heeft: de functie kent één patroon voor alle rijen, en dan is een kalendertabel met een rij per datum het betere gereedschap. Wil je alleen de naleving toetsen en niet de deadline zelf, dan telt NETWERKDAGEN.INTL met dezelfde weekendtekst de verstreken werkdagen tussen de twee datums.
Meer om op te letten
Typ je
1000001in een cel, dan slaat Excel het getal 1,000,0011.000.001 op en niet de tekst van 7 tekens. Een getal wordt gelezen als numerieke weekendcode, en 1,000,0011.000.001 is dat niet, dus het patroon wordt niet toegepast en de formule faalt. Microsoft documenteert #WAARDE! voor een weekendtekst met een ongeldige lengte of ongeldige tekens.De code moet tekst zijn: houd hem tussen aanhalingstekens in de formule, of gebruik code 2 voor zondag en maandag.
- De tekst begint op maandag. Lees je hem vanaf zondag, zoals in een Amerikaanse kalender, dan draaien de vrije dagen om zonder dat er een fout verschijnt.
Varianten
=WERKDAG.INTL(B4,$G$1, 2, $G$2:$G$3)
=WERKDAG.INTL(B4;$G$1; 2; $G$2:$G$3)
Code 2 betekent zondag en maandag vrij en geeft dezelfde deadline, vrijdag 15 mei 2026. Kies de tekstvorm voor patronen zonder code, zoals dinsdag en vrijdag vrij.
=WERKDAG.INTL(B4,$G$1, "1000001", $G$2:$G$3)
=WERKDAG.INTL(B4;$G$1; "1000001"; $G$2:$G$3)
Zet dit in een hulpkolom en kopieer naar beneden om de deadline zelf voor alle vijf meldingen te zien: za 9 mei, wo 13 mei, vr 15 mei, do 21 mei en wo 27 mei 2026. Vergeleken met de afrondingsdatums zijn alleen T-3102 en T-3104 te laat.
Veelgemaakte fouten
| Symptoom | Oorzaak | Oplossing |
|---|---|---|
| Een getal als 46069 in plaats van een datum | De cel toont een getal zoals 46069 in plaats van een datum. | WERKDAG geeft een serieel getal. Geef de cel een datumnotatie (Ctrl+1, dan Datum); de waarde zelf klopt al. |
| Dag 1 valt een werkdag later dan verwacht | Een factuur van maandag met 10 werkdagen komt uit op een maandag twee weken later, terwijl je de vrijdag ervoor verwachtte. | Dag 1 is dinsdag. Telt het contract de factuurdatum zelf als dag 1, gebruik dan WERKDAG(begindatum - 1; dagen). |
| Uitkomst rond feestdagen een dag of meer te vroeg | De datums zien er goed uit, maar rond Pasen, Koningsdag of Kerst komt de uitkomst een of meer dagen te vroeg. | Zonder het argument feestdagen telt Excel elke dag van maandag tot en met vrijdag als werkdag. Houd per jaar een lijst met feestdagen bij, want Pasen, Hemelvaart en Pinksteren schuiven, en verwijs er met een absolute verwijzing naar, zoals $F$2:$F$6. |
| #WAARDE! terwijl de formule er goed uitziet | Het resultaat is #WAARDE! terwijl de formule er goed uitziet. | Een van de datums is tekst die Excel met jouw regio-instelling niet als datum kan lezen, vaak een geïmporteerde datum, of het bereik met feestdagen bevat een kopcel. Excel leest veel datumachtige teksten zonder klacht, dus #WAARDE! wijst op tekst die niet te lezen was. Controleer de datum met ISGETAL en laat het bereik met feestdagen op de eerste echte datum beginnen. |