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.
Laatst bijgewerkt: 13 oktober 2026
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Activum | Omschrijving | Aankoopdatum | Jaareinde | Volledige jaren |
| 2 | FA-0107 | Bestelbus | 15-03-2021 | 31-12-2025 | 44=DATUMVERSCHIL(C2, D2, "J")=DATUMVERSCHIL(C2; D2; "J") |
| 3 | FA-0108 | Lasmachine | 30-11-2023 | 31-12-2025 | |
| 4 | FA-0109 | Laptops | 10-02-2025 | 31-12-2025 | |
| 5 | FA-0110 | Heftruck | 31-12-2019 | 31-12-2025 |
Veeg opzij om alle kolommen te zien
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)
| Argument | Soort | Betekenis |
|---|---|---|
begindatum | Verplicht | De eerdere datum. |
einddatum | Verplicht | De latere datum. |
eenheid | Verplicht | De 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.
| Rij | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 1 | Activum | Omschrijving | Aankoopdatum | Jaareinde | Volledige jaren | |
| 2 | FA-0107 | Bestelbus | 15-03-2021 | 31-12-2025 | 44=DATUMVERSCHIL(C2, D2, "J")=DATUMVERSCHIL(C2; D2; "J") | |
| 3 | FA-0108 | Lasmachine | 30-11-2023 | 31-12-2025 | ||
| 4 | FA-0109 | Laptops | 10-02-2025 | 31-12-2025 | ||
| 5 | FA-0110 | Heftruck | 31-12-2019 | 31-12-2025 | ||
| 6 |
Veeg opzij om alle kolommen te zien
Formule in E2
=DATUMVERSCHIL(C2,D2, "J")
=DATUMVERSCHIL(C2;D2; "J")
Resultaat: 44
Stap voor stap
- DATUMVERSCHIL heeft drie argumenten: begindatum is
C2(15 maart 2021), einddatum isD2(31 december 2025) en eenheid is de code voor jaren, J in de Nederlandse formule en Y in de Engelse. - 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.
- 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.
- Naar beneden gekopieerd geeft
E32 (30 november 2023, verjaardagen in 2024 en 2025), geeftE40 (de eerste verjaardag, 10 februari 2026, moet nog komen) en geeftE56, 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.
| Rij | A | B | C | D | E | F | G | H |
|---|---|---|---|---|---|---|---|---|
| 1 | Factuurnr. | Factuurdatum | Openstaand | Ouderdom in maanden | Balansdatum | 31-12-2025 | ||
| 2 | F-25-0731 | 20-08-2025 | €12,100.00€ 12.100,00 | 44=ALS(B2 > $G$1, "Datum na balansdatum", DATUMVERSCHIL(B2, $G$1, "M"))=ALS(B2 > $G$1; "Datum na balansdatum"; DATUMVERSCHIL(B2; $G$1; "M")) | ||||
| 3 | F-25-0802 | 31-10-2025 | €4,235.50€ 4.235,50 | |||||
| 4 | F-25-0690 | 30-06-2025 | €8,750.00€ 8.750,00 | |||||
| 5 | F-26-0004 | 05-01-2026 | €3,025.00€ 3.025,00 | |||||
| 6 | F-25-0455 | 14-03-2025 | €15,640.25€ 15.640,25 | |||||
| 7 |
Veeg opzij om alle kolommen te zien
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
- ALS rekent eerst de test uit:
B2>$G$1.B2is 20 augustus 2025 en$G$1is 31 december 2025, dus de test is ONWAAR en ALS neemt het derde argument. - 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.
- De $-tekens zetten
G1vast, zodat elke rij bij het naar beneden kopiëren tegen dezelfde balansdatum wordt getest. - In
D5is 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 zouD5#GETAL! tonen. - 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.
| Rij | A | B | C | D | E | F | G | H |
|---|---|---|---|---|---|---|---|---|
| 1 | Contract | Omschrijving | Einddatum | Resterende looptijd | Balansdatum | 31-12-2025 | ||
| 2 | L-01 | Huur bedrijfshal | 15-07-2028 | 2 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" | ||||
| 3 | L-02 | Huur kantoor | 28-02-2027 | |||||
| 4 | L-03 | Leaseauto's | 30-11-2026 | |||||
| 5 | L-04 | Kopieermachine | 31-12-2030 | |||||
| 6 | L-05 | Parkeerplaatsen | 31-01-2026 | |||||
| 7 |
Veeg opzij om alle kolommen te zien
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
- 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.
- 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.
- 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.
- De &-operator plakt de stukken aan elkaar: 2, de tekst voor jaren, 6 en de tekst voor maanden.
D2toont 2 jr 6 mnd (Engels: 2 y 6 m). - Naar beneden gekopieerd geeft
D31 jr 1 mnd (einddatum 28 februari 2027 heeft dag 28, onder de 31, dus 13 maanden en niet 14), geeftD40 jr 10 mnd, geeftD55 jr 0 mnd en geeftD60 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.
| Rij | A | B | C | D | E | F | G | H |
|---|---|---|---|---|---|---|---|---|
| 1 | Factuurnr. | Factuurdatum | Openstaand | Leeftijd | Peildatum | 15-01-2026 | ||
| 2 | F-25-0844 | 31-08-2025 | €18,400.00€ 18.400,00 | 4 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" ) | ||||
| 3 | F-25-0912 | 20-11-2025 | €6,300.00€ 6.300,00 | |||||
| 4 | F-25-0951 | 15-12-2025 | €2,750.00€ 2.750,00 | |||||
| 5 | F-25-0377 | 28-02-2025 | €9,100.00€ 9.100,00 | |||||
| 6 | F-25-0502 | 31-05-2025 | €12,500.00€ 12.500,00 | |||||
| 7 |
Veeg opzij om alle kolommen te zien
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
- 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. - 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.
- 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.
- Het laatste argument van LET plakt de stukken aan elkaar: 4, de tekst voor maanden, 15 en de tekst voor dagen.
D2toont 4 mnd 15 d (Engels: 4 m 15 d). - Naar beneden gekopieerd geeft
D31 mnd 26 d (20 november tot 20 december is één maand, daarna 26 dagen tot 15 januari), geeftD41 mnd 0 d, geeftD510 mnd 18 d en geeftD67 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
| Symptoom | Oorzaak | Oplossing |
|---|---|---|
| #GETAL! als de datums omgekeerd staan | Het 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 Excel | De 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 mee | Een 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. |