Beschikbaar in:Alle versies (Werkt in Excel 2007, elke latere versie, Microsoft 365 en Excel voor het web)Voorbeelden vragen Excel 2021 of nieuwerCategorie:Datum en tijdIn beoordeling

DATUMVERSCHIL

DATEDIF in Engelstalige Excel

Telt de volledige jaren, maanden of dagen tussen twee datums, bijvoorbeeld de leeftijd van een activum of het aantal maanden dat een vordering openstaat.

Moeilijkheidsgraad 2 van 5. De functie ontbreekt in de functielijst en de wizard, de eenheidscode is een tekst die per taal verschilt, en ze telt alleen volledige eenheden, wat rond maandeinden verrast.

Laatst bijgewerkt: 13 oktober 2026

Bekijk de uitgewerkte voorbeelden

Fragment van het werkblad: in E2 staat de formule
RijABCDE
1ActivumOmschrijvingAankoopdatumJaareindeVolledige jaren
2FA-0107Bestelbus15-03-202131-12-202544=DATUMVERSCHIL(C2, D2, "J")=DATUMVERSCHIL(C2; D2; "J")
3FA-0108Lasmachine30-11-202331-12-2025
4FA-0109Laptops10-02-202531-12-2025
5FA-0110Heftruck31-12-201931-12-2025
Formulecel (E2)Invoer

Resultaat: 4

=DATUMVERSCHIL(C2, D2, "J")
=DATUMVERSCHIL(C2; D2; "J")

Wat DATUMVERSCHIL doet en wanneer je het gebruikt

Wat het doet: het telt de volledige jaren, maanden of dagen tussen twee datums, bijvoorbeeld het aantal maanden dat een factuur openstaat.

Wanneer je het gebruikt: voor leeftijden, dienstjaren en ouderdom in hele maanden. Je vindt de functie niet in de functielijst of wizard van Excel, maar ze werkt in elke versie. Heb je alleen dagen nodig, trek de datums dan af of gebruik DAGEN; voor jaren met decimalen JAAR.DEEL.

Hoe Excel de functie berekent

Excel controleert eerst of de begindatum niet later is dan de einddatum, en geeft #GETAL! als dat wel zo is. Daarna telt Excel per eenheid:

  • "J": hoeveel verjaardagen van de begindatum op of vóór de einddatum vallen
  • "M": hoeveel maandstappen vanaf de begindatum passen vóór de einddatum
  • "D": het verschil van de twee seriële getallen

Gedeeltelijke jaren en maanden vallen weg en worden nooit naar boven afgerond.

Let op: Een maand telt pas mee als de einddatum het dagnummer van de begindatum bereikt: van 31 oktober tot 30 november geeft "M" 0.

Denkmodel

Denk aan verjaardagen. DATUMVERSCHIL met "J" telt de verjaardagen die voorbij zijn: de dag voor de volgende ben je nog steeds even oud.

Begrippen op deze pagina: serieel getal

DATUMVERSCHIL(begindatum, einddatum, eenheid)
DATUMVERSCHIL(begindatum; einddatum; eenheid)
Argumenten
ArgumentSoortBetekenis
begindatumVerplichtDe eerdere datum.
einddatumVerplichtDe latere datum.
eenheidVerplichtDe eenheid als tekst: "J", "M" of "D" (Engelse voorbeelden: "Y", "M", "D").

Geeft terug:Een geheel aantal jaren, maanden of dagen, afhankelijk van de eenheid

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

Leeftijd van vaste activa in volledige jaren

In de activastaat van Veldhuis Installatie BV wil je van elk activum de leeftijd in volledige jaren per jaareinde 31 december 2025, om te vergelijken met de afschrijvingstermijn. De staat heeft de aankoopdatum en het jaareinde in twee kolommen.

Fragment van het werkblad: in E2 staat de formule
RijABCDEF
1ActivumOmschrijvingAankoopdatumJaareindeVolledige jaren
2FA-0107Bestelbus15-03-202131-12-202544=DATUMVERSCHIL(C2, D2, "J")=DATUMVERSCHIL(C2; D2; "J")
3FA-0108Lasmachine30-11-202331-12-2025
4FA-0109Laptops10-02-202531-12-2025
5FA-0110Heftruck31-12-201931-12-2025
6
Formulecel (E2)Invoer

Formule in E2

=DATUMVERSCHIL(C2, D2, "J")
=DATUMVERSCHIL(C2; D2; "J")

Resultaat: 44

Stap voor stap
  1. DATUMVERSCHIL heeft drie argumenten: begindatum is C2 (15 maart 2021), einddatum is D2 (31 december 2025) en eenheid is de code voor jaren, J in de Nederlandse formule en Y in de Engelse.
  2. De begindatum ligt niet na de einddatum, dus Excel gaat door. Het telt de verjaardagen van 15 maart 2021 die op of vóór 31 december 2025 vallen: 15 maart 2022, 2023, 2024 en 2025. Dat zijn er 4.
  3. De volgende verjaardag, 15 maart 2026, ligt na het jaareinde en telt dus niet mee. De bestelbus is 4 volledige jaren oud, ook al zit hij met 4 jaar en 9 maanden bijna op 5.
  4. Naar beneden gekopieerd geeft E3 2 (30 november 2023, verjaardagen in 2024 en 2025), geeft E4 0 (de eerste verjaardag, 10 februari 2026, moet nog komen) en geeft E5 6, omdat de zesde verjaardag van 31 december 2019 precies het jaareinde is.

Let op: Typ je DATUMVERSCHIL in een cel, dan verschijnt er geen suggestie en geen uitleg bij de argumenten, omdat de functie niet in de lijst staat. Typ de naam volledig uit en controleer of de formule wordt geaccepteerd.

Meer over dit voorbeeld: waarom het werkt

Waarom het werkt

DATUMVERSCHIL rondt niet af. Het telt alleen de verjaardagen die op de einddatum al voorbij zijn, en een gedeeltelijk jaar vervalt. Dat is de definitie van een leeftijd, en daarom is het antwoord voor de bestelbus 4 en niet 5.

Halfgevorderd

De ouderdom van openstaande facturen in volledige maanden bepalen, met een controle op datums na jaareinde

Voor de ouderdomsanalyse van de debiteuren heb je de leeftijd van elke openstaande factuur nodig in volledige maanden per balansdatum 31 december 2025.

Eén factuur in de lijst heeft datum 5 januari 2026. DATUMVERSCHIL zou daarvoor #GETAL! geven, maar juist die factuur is de afgrenzingsuitzondering die je wilt opvolgen, dus het werkblad moet dat in woorden zeggen.

Fragment van het werkblad: in D2 staat de formule
RijABCDEFGH
1Factuurnr.FactuurdatumOpenstaandOuderdom in maandenBalansdatum31-12-2025
2F-25-073120-08-2025€12,100.00€ 12.100,0044=ALS(B2 > $G$1, "Datum na balansdatum", DATUMVERSCHIL(B2, $G$1, "M"))=ALS(B2 > $G$1; "Datum na balansdatum"; DATUMVERSCHIL(B2; $G$1; "M"))
3F-25-080231-10-2025€4,235.50€ 4.235,50
4F-25-069030-06-2025€8,750.00€ 8.750,00
5F-26-000405-01-2026€3,025.00€ 3.025,00
6F-25-045514-03-2025€15,640.25€ 15.640,25
7
Formulecel (D2)Invoer

Formule in D2

=ALS(B2 > $G$1, "Datum na balansdatum", DATUMVERSCHIL(B2, $G$1, "M"))
=ALS(B2 > $G$1; "Datum na balansdatum"; DATUMVERSCHIL(B2; $G$1; "M"))

Resultaat: 44

Stap voor stap
  1. ALS rekent eerst de test uit: B2 > $G$1. B2 is 20 augustus 2025 en $G$1 is 31 december 2025, dus de test is ONWAAR en ALS neemt het derde argument.
  2. DATUMVERSCHIL telt volledige maanden van 20 augustus 2025 tot 31 december 2025. De maandstappen komen uit op 20 september, 20 oktober, 20 november en 20 december. De volgende, 20 januari 2026, ligt na de balansdatum. Het resultaat is 4.
  3. De $-tekens zetten G1 vast, zodat elke rij bij het naar beneden kopiëren tegen dezelfde balansdatum wordt getest.
  4. In D5 is de test 5 januari 2026 > 31 december 2025, en die is WAAR. ALS geeft de tekst Datum na balansdatum en DATUMVERSCHIL wordt niet berekend, dus er komt geen #GETAL!. Zonder de ALS zou D5 #GETAL! tonen.
  5. De overige rijen geven 2 (31 oktober tot 31 december), 6 (30 juni tot 31 december) en 9 (14 maart tot 31 december).

Let op: Volledige maanden volgen het dagnummer. Een factuur van 31 oktober is op 31 december 2 maanden oud, maar op 30 november is dezelfde factuur 0 maanden oud, omdat november geen 31e heeft.

Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant

Waarom het werkt

DATUMVERSCHIL weigert een omgekeerd paar datums, dus de controle moet ervoor staan. ALS berekent alleen de tak die nodig is, en daarom wordt de mislukkende DATUMVERSCHIL in de andere tak nooit uitgevoerd. De eenheid "M" is in Nederlands en Engels Excel hetzelfde.

Let op

  • Volledige maanden volgen het dagnummer. Een factuur van 31 oktober is op 31 december 2 maanden oud, maar op 30 november is dezelfde factuur 0 maanden oud, omdat november geen 31e heeft.

    Een balansdatum die geen maandeinde is kan facturen van een maandeinde dus een maand lager indelen dan je verwacht.

Varianten

=ALS.FOUT(DATUMVERSCHIL(B2, $G$1, "M"), "Datum na balansdatum")
=ALS.FOUT(DATUMVERSCHIL(B2; $G$1; "M"); "Datum na balansdatum")

Korter, maar ALS.FOUT verbergt elke fout, ook een datum die als tekst in B2 staat. Kies de ALS-test als je de precieze oorzaak wilt benoemen.

Gevorderd

Resterende looptijd van leasecontracten in jaren en maanden

Voor de toelichting op de leaseverplichtingen heb je de resterende looptijd van elk leasecontract nodig per balansdatum 31 december 2025, uitgedrukt in jaren en maanden. De contractenlijst bevat alleen de einddatum.

De balansdatum is de laatste dag van een maand, en daardoor is het tellen van maanden lastiger dan het lijkt.

Fragment van het werkblad: in D2 staat de formule
RijABCDEFGH
1ContractOmschrijvingEinddatumResterende looptijdBalansdatum31-12-2025
2L-01Huur bedrijfshal15-07-20282 jr 6 mnd=DATUMVERSCHIL($G$1, C2, "J") & " jr " & (DATUMVERSCHIL($G$1, C2, "M") - 12 * DATUMVERSCHIL($G$1, C2, "J")) & " mnd"=DATUMVERSCHIL($G$1; C2; "J") & " jr " & (DATUMVERSCHIL($G$1; C2; "M") - 12 * DATUMVERSCHIL($G$1; C2; "J")) & " mnd"
3L-02Huur kantoor28-02-2027
4L-03Leaseauto's30-11-2026
5L-04Kopieermachine31-12-2030
6L-05Parkeerplaatsen31-01-2026
7
Formulecel (D2)Invoer

Formule in D2

=DATUMVERSCHIL($G$1, C2, "J") & " jr " & (DATUMVERSCHIL($G$1, C2, "M") - 12 * DATUMVERSCHIL($G$1, C2, "J")) & " mnd"
=DATUMVERSCHIL($G$1; C2; "J") & " jr " & (DATUMVERSCHIL($G$1; C2; "M") - 12 * DATUMVERSCHIL($G$1; C2; "J")) & " mnd"

Resultaat: 2 jr 6 mnd

Stap voor stap
  1. Excel rekent de aanroepen van DATUMVERSCHIL van links naar rechts uit. De eerste telt volledige jaren van 31 december 2025 tot 15 juli 2028. De verjaardagen zijn 31 december 2026 en 31 december 2027; 31 december 2028 ligt na de einddatum. Het resultaat is 2.
  2. De tweede aanroep, met "M", telt volledige maanden. Van december 2025 tot juli 2028 zijn 31 kalendermaanden, maar de einddatum heeft dagnummer 15 en de begindatum 31, dus de laatste stap is niet vol. Het resultaat is 30.
  3. De derde aanroep is weer het aantal jaren: 2. De maanden die overblijven na het weghalen van de hele jaren zijn 30 - 12 * 2 = 30 - 24 = 6.
  4. De &-operator plakt de stukken aan elkaar: 2, de tekst voor jaren, 6 en de tekst voor maanden. D2 toont 2 jr 6 mnd (Engels: 2 y 6 m).
  5. Naar beneden gekopieerd geeft D3 1 jr 1 mnd (einddatum 28 februari 2027 heeft dag 28, onder de 31, dus 13 maanden en niet 14), geeft D4 0 jr 10 mnd, geeft D5 5 jr 0 mnd en geeft D6 0 jr 1 mnd.

Let op: Een balansdatum op een maandeinde in combinatie met een korte eindmaand geeft een telling die een maand lager is dan de kalender suggereert: L-03 eindigt op 30 november 2026 en toont 10 maanden en niet 11. De uitkomst volgt de regel, maar verrast wie maanden op de kalender telt. Leg de regel vast in je werkpapier.

Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 2 varianten

Waarom het werkt

Totaal aantal maanden min 12 keer de jaren laat de maanden over na het laatste hele jaar, en beide tellingen gebruiken dezelfde regel voor volledige eenheden, dus ze kunnen elkaar niet tegenspreken. De eenheid "YM" zou die rest direct geven, maar de Nederlandse code is niet gedocumenteerd, terwijl "J" en "M" dat wel zijn.

Meer om op te letten

  • Een contract waarvan de einddatum vóór de balansdatum ligt, laat DATUMVERSCHIL #GETAL! geven. Eén verlopen contract in de lijst breekt de hele rij, dus filter die eruit of voeg de ALS-controle uit het voorbeeld op niveau Halfgevorderd toe.

Varianten

=DATUMVERSCHIL($G$1, C2, "M")
=DATUMVERSCHIL($G$1; C2; "M")

Alleen het totale aantal maanden, 30 voor L-01. Gebruik dit als de toelichting een looptijd in maanden vraagt.

=JAAR.DEEL($G$1, C2)
=JAAR.DEEL($G$1; C2)

De looptijd als aantal jaren met decimalen, ongeveer 2,54 voor L-01, op basis van een jaar van 30/360. Kies dit als je de looptijd met een bedrag moet vermenigvuldigen.

ExpertExcel 2021 of nieuwer (Dit voorbeeld vereist Excel 2021 of nieuwer)

Ouderdom in maanden en resterende dagen, zonder de eenheid "MD"

De ouderdomslijst voor een debiteurenbespreking op 15 januari 2026 moet per factuur laten zien hoe oud die is in volledige maanden plus de resterende dagen, bijvoorbeeld 4 maanden en 15 dagen.

De gebruikelijke route is twee keer DATUMVERSCHIL, één keer met "M" en één keer met "MD", maar Microsoft waarschuwt dat "MD" negatieve of verkeerde getallen kan geven. Je hebt een versie nodig die je bij een beoordeling kunt verdedigen.

Fragment van het werkblad: in D2 staat de formule
RijABCDEFGH
1Factuurnr.FactuurdatumOpenstaandLeeftijdPeildatum15-01-2026
2F-25-084431-08-2025€18,400.00€ 18.400,004 mnd 15 d=LET( vanaf, B2, tot, $G$1, geheleStappen, DATUMVERSCHIL(vanaf, tot, "M"), overschot, tot - ZELFDE.DAG(vanaf, geheleStappen), geheleStappen & " mnd " & overschot & " d" )=LET( vanaf; B2; tot; $G$1; geheleStappen; DATUMVERSCHIL(vanaf; tot; "M"); overschot; tot - ZELFDE.DAG(vanaf; geheleStappen); geheleStappen & " mnd " & overschot & " d" )
3F-25-091220-11-2025€6,300.00€ 6.300,00
4F-25-095115-12-2025€2,750.00€ 2.750,00
5F-25-037728-02-2025€9,100.00€ 9.100,00
6F-25-050231-05-2025€12,500.00€ 12.500,00
7
Formulecel (D2)Invoer

Formule in D2

=LET(
  vanaf, B2,
  tot, $G$1,
  geheleStappen, DATUMVERSCHIL(vanaf, tot, "M"),
  overschot, tot - ZELFDE.DAG(vanaf, geheleStappen),
  geheleStappen & " mnd " & overschot & " d"
)
=LET(
  vanaf; B2;
  tot; $G$1;
  geheleStappen; DATUMVERSCHIL(vanaf; tot; "M");
  overschot; tot - ZELFDE.DAG(vanaf; geheleStappen);
  geheleStappen & " mnd " & overschot & " d"
)

Resultaat: 4 mnd 15 d

Stap voor stap
  1. LET leest zijn argumenten in paren: eerst een naam, dan een waarde. vanaf wordt B2, 31 augustus 2025, en tot wordt $G$1, 15 januari 2026.
  2. geheleStappen is DATUMVERSCHIL(vanaf; tot; "M"). Van augustus 2025 tot januari 2026 zijn 5 kalendermaanden, maar de einddatum heeft dagnummer 15 en de begindatum 31, dus de vijfde stap is niet vol. geheleStappen is 4.
  3. overschot is tot - ZELFDE.DAG(vanaf; geheleStappen). ZELFDE.DAG schuift 31 augustus 2025 4 maanden op en komt uit op 31 december 2025. De aftrekking is 15 januari 2026 - 31 december 2025 = 15 dagen.
  4. Het laatste argument van LET plakt de stukken aan elkaar: 4, de tekst voor maanden, 15 en de tekst voor dagen. D2 toont 4 mnd 15 d (Engels: 4 m 15 d).
  5. Naar beneden gekopieerd geeft D3 1 mnd 26 d (20 november tot 20 december is één maand, daarna 26 dagen tot 15 januari), geeft D4 1 mnd 0 d, geeft D5 10 mnd 18 d en geeft D6 7 mnd 15 d.

Let op: De omgekeerde fout: DATUMVERSCHIL(vanaf; tot; "MD") lijkt op de meeste rijen goed en gaat alleen mis rond maandeinden, dus een test op een paar rijen slaagt. Controleer facturen van een maandeinde zoals F-25-0844 specifiek.

Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 2 varianten

Waarom het werkt

De resterende dagen worden gemeten vanaf de exacte datum die de hele maanden bereiken, dus maanden en dagen tellen altijd op tot het werkelijke interval. Dat is wat "MD" hoort te doen maar niet betrouwbaar kan.

De eigen omweg van Microsoft trekt de eerste dag van de eindmaand af, wat hier 14 geeft: een andere grootheid (dagen in januari, niet dagen sinds de laatste maandstap). Gebruik deze opbouw niet als je alleen dagen nodig hebt (trek de datums af) of een aantal jaren met decimalen (JAAR.DEEL): die zijn korter en kunnen een maandeinde niet verkeerd lezen.

Meer om op te letten

  • Ligt een factuurdatum na de peildatum, dan geeft DATUMVERSCHIL #GETAL! en faalt de hele LET. Zet de controle uit het voorbeeld op niveau Halfgevorderd eromheen als de lijst zulke facturen kan bevatten.
  • Het resultaat is tekst. Je kunt het niet optellen of op ouderdom sorteren, dus bewaar het numerieke aantal maanden in een hulpkolom als het rapport klassen nodig heeft.

Varianten

=DATUMVERSCHIL(B2, $G$1, "M")
=DATUMVERSCHIL(B2; $G$1; "M")

Alleen de volledige maanden, 4 voor F-25-0844, voor als het rapport de ouderdom in maanden indeelt.

=$G$1 - B2
=$G$1 - B2

De ouderdom in gewone dagen, 137 voor F-25-0844. Kies dit als een aantal dagen volstaat: het kan niet misgaan bij een maandeinde.

Veelgemaakte fouten

Veelgemaakte fouten
SymptoomOorzaakOplossing
#GETAL! als de datums omgekeerd staanHet resultaat is #GETAL! omdat de begindatum later is dan de einddatum, bijvoorbeeld als de factuurdatum na de rapportagedatum ligt.Test eerst de volgorde met ALS(begin > eind; ...), zoals het voorbeeld op niveau Halfgevorderd doet. Een omgekeerd paar is vaak al een bevinding op zich, zoals een afgrenzingsfout.
Fout in slechts één taal van ExcelDe formule werkt in de ene taal van Excel en geeft een fout in de andere. De eenheid is tekst; Microsoft gebruikt in de Engelse voorbeelden "Y" en in de Nederlandse voorbeelden "J".Test de code in je eigen Excel en gebruik de code die daar werkt: Microsoft gebruikt op de Engelse pagina "Y" en in de Nederlandse voorbeelden "J". Deze site toont in elk voorbeeld de code van de taal van de pagina.
Verkeerde of negatieve dagen met "MD"De eenheid "MD" geeft een negatief getal, 0 of een verkeerd aantal dagen.Vermijd "MD", zoals Microsoft ook doet. Reken de resterende dagen uit als de einddatum min de datum een aantal hele maandstappen na de begindatum, zoals het voorbeeld op niveau Expert doet met ZELFDE.DAG.
Een volle maand telt niet meeEen maand lijkt vol maar telt niet mee, omdat de einddatum een lager dagnummer heeft dan de begindatum.Test bij datums rond een maandeinde één dag aan beide kanten van de grens voordat je op de uitkomst vertrouwt.