Hoe berekent u de verstreken tijd in dagen, maanden of jaren tussen twee datums en tijdstippen in Excel?
Bij het beheren van roosters, bijhouden van projectplanningen of analyseren van logbestanden in Excel moet u vaak bepalen hoeveel tijd er is verstreken tussen twee specifieke momenten. Stel bijvoorbeeld dat u twee lijsten hebt: één met begintijden en één met eindtijden. U wilt dan snel de verstreken tijd voor elk paar op dezelfde rij berekenen, zoals in de onderstaande schermafbeelding wordt weergegeven. Dit is uiterst handig voor het rapporteren van werktijden, het berekenen van leeftijden of het monitoren van deadlines.
Verstreken tijd/dagen/maanden/jaren berekenen met een formule
Gebruik VBA-code om verstreken tijd direct te berekenen
Verstreken tijd/dagen/maanden/jaren berekenen met een formule
Verstreken tijd berekenen
Excel maakt het een eenvoudige klus om het verschil tussen twee tijdstippen te berekenen – ideaal voor scenario’s zoals het bijhouden van werkdiensten, het bepalen van doorlooptijden of het volgen van projectvoortgang. Volg deze stappen voor tijden op dezelfde dag:
1. Klik in een lege cel waar de verstreken tijd moet verschijnen (bijvoorbeeld cel C2) en voer de volgende formule in:
=IF(B2<A2,1+B2-A2, B2-A2)Cel A2 moet de begintijd bevatten en cel B2 de eindtijd. Deze formule houdt rekening met situaties waarin de eindtijd vóór de begintijd ligt—bijvoorbeeld bij diensten die middernacht overspannen—zodat de berekening altijd accuraat blijft.2. Nadat u de formule hebt ingevoerd, drukt u op Enter. Wilt u deze formule toepassen op andere rijen? Gebruik dan de vulgreep: klik op het kleine vierkantje rechtsonder in de cel en sleep dit naar beneden over de aanvullende records. Zo berekent u in één keer verstreken tijden voor meerdere gegevens.
3. Houd de resultaatcellen geselecteerd, klik met de rechtermuisknop om het contextmenu te openen en kies Celopmaak instellen. In het Celopmaak instellen-dialoogvenster selecteert u onder het tabblad Getal aan de linkerkant Tijd. Kies rechts uw gewenste tijdnotatie (zoals uu:mm, u:mm:ss, enz.) om de resultaten weer te geven als leesbare verstreken tijden.
4. Klik op OK om de opmaak toe te passen. De tijden worden nu weergegeven volgens uw keuze, waardoor de totale duur gemakkelijker te interpreteren is.
Aanvullende tips:
- Zorg ervoor dat zowel de kolommen met begintijd als eindtijd zijn opgemaakt als geldige Excel-tijden om fouten te voorkomen.
- Als u verwacht dat sommige eindtijden op de volgende dag vallen (bijvoorbeeld bij nachtdiensten), houdt de bovenstaande formule hier rekening mee door automatisch 1 (een volledige dag) toe te voegen wanneer nodig.
- Als u een '#WAARDE!'-fout tegenkomt, controleer dan of uw brondata lege of onjuist opgemaakte waarden bevat.
Verstreken dagen, maanden of jaren berekenen
Het bepalen van het aantal dagen, maanden of jaren tussen twee datums komt veelvuldig voor bij projectplanning, dienstverbanden en leeftijdberekeningen. Hieronder vindt u een efficiënte aanpak voor elk type:
Voor verstreken dagen klikt u in een lege cel (bijvoorbeeld C2) en voert u de volgende formule in:
=B2-A2Hier is A2 de startdatum en B2 de einddatum. Nadat u op EnterNadat u hebt gedrukt, sleept u de vulgreep omlaag om de berekening op extra rijen toe te passen.
Opmerkingen: Zorg ervoor dat beide datums gebruikmaken van de datumnotatie van Excel; anders kan het resultaat onjuist zijn. Als u alleen hele dagen wilt tellen (zonder uren of minuten), is deze formule ideaal.
Voer het volgende in een lege cel in om het aantal maanden tussen twee datums te berekenen:
=DATEDIF(A2,B2,"m")Deze formule geeft het aantal voltooide maanden terug. Als gedeeltelijke maanden van belang zijn, kunt u breuken van maanden weergeven door deze te combineren met dagen.Gebruik voor jaren (inclusief gedeeltelijke jaren):
=DATEDIF(A2,B2,"y")Als u de jaren als decimaal wilt, kunt u proberen:=DATEDIF(A2,B2,"m")/12en formatteert u de resultaatcel als getal voor grotere nauwkeurigheid.Voorzorgsmaatregelen:
- Als de einddatum vóór de startdatum ligt, geven deze formules negatieve waarden terug—overweeg validatie toe te voegen.
- Let goed op bij het invoeren van DATEDIF: een spelfout leidt tot een „#NAAM?"-fout in Excel, omdat deze functie niet voorkomt in het standaardfunctiemenu.
Verstreken jaren, maanden en dagen berekenen in een gecombineerde notatie
Als u een gedetailleerdere uitsplitsing nodig hebt (bijvoorbeeld „2 jaar, 6 maanden, 19 dagen”), kunt u dit in Excel realiseren met de DATEDIF-functie in combinatie. Deze oplossing is ideaal voor het berekenen van dienstjaren, leeftijden of scenario’s waarin een duidelijke scheiding tussen jaren, maanden en dagen essentieel is.
Selecteer een lege cel (bijvoorbeeld C2) en voer de volgende formule in:
=DATEDIF(A2,B2,"Y") & " Years, " & DATEDIF(A2,B2,"YM") & " Months, " & DATEDIF(A2,B2,"MD") & " Days"Druk vervolgens op EnterDit combineert meerdere DATEDIF-berekeningen om een leesbare tekst te genereren die de exacte verstreken tijdsduur weergeeft.
Als u de formule op meerdere rijen wilt toepassen, gebruikt u opnieuw de vulgreep. Stel de resulterende kolom het beste in als „Standaard” voor een correcte weergave van de tekst.
Handige tip: Als uw berekening zich uitstrekt over een schrikkeljaar of datums met variërende maandlengtes, berekent DATEDIF het resultaat nauwkeurig op basis van kalendermaanden en -jaren.
Probleemoplossing en herinneringen:
- Controleer uw brongegevens altijd op lege cellen of een onjuiste datum-/tijdaanmaak.
- Als u fouten constateert, herstel de invoerkolommen dan door ze opnieuw in te stellen als 'Datum' of 'Tijd' voor gestandaardiseerde gegevens.
- Als formules niet worden bijgewerkt nadat u de brondcel hebt bewerkt, drukt u op F9 om een herberekening af te dwingen of controleert u of automatische berekening is ingeschakeld in de Excel-opties.
VBA-code om verstreken tijd tussen twee datums en tijdstippen te berekenen
Als u berekeningen wilt automatiseren of grote datasets efficiënt wilt verwerken, is VBA een krachtig hulpmiddel. Zo kunt u bijvoorbeeld resultaten van verstreken tijd eenvoudig samenvoegen in één cel of de berekening volledig naar wens aanpassen.
1. Ga naar Ontwikkelaarshulpmiddelen > Visual Basic; er verschijnt een nieuw Microsoft Visual Basic for Applications-venster. Klik op Invoegen > Module en plak de volgende code:
Sub CalcElapsedTimeBySelection()
Dim startRange As Range
Dim endRange As Range
Dim outputCell As Range
Dim ws As Worksheet
Dim i As Long
Dim rowCount As Long
Dim elapsedTime As Double
Dim startTime As Variant, endTime As Variant
Dim xTitleId As String
xTitleId = "Kutools for Excel"
On Error Resume Next
' Prompt user for ranges
Set startRange = Application.InputBox("Select the range for Start Time:", xTitleId, Type:=8)
If startRange Is Nothing Then Exit Sub
Set endRange = Application.InputBox("Select the range for End Time:", xTitleId, Type:=8)
If endRange Is Nothing Then Exit Sub
Set outputCell = Application.InputBox("Select the top-left cell for output results:", xTitleId, Type:=8)
If outputCell Is Nothing Then Exit Sub
On Error GoTo 0
' Check matching range sizes
If startRange.Rows.Count <> endRange.Rows.Count Then
MsgBox "The start and end time ranges must have the same number of rows.", vbExclamation, xTitleId
Exit Sub
End If
' Loop through rows
rowCount = startRange.Rows.Count
For i = 1 To rowCount
startTime = startRange.Cells(i, 1).Value
endTime = endRange.Cells(i, 1).Value
If IsNumeric(startTime) And IsNumeric(endTime) Then
elapsedTime = CDbl(endTime) - CDbl(startTime)
' Handle next-day (cross-midnight) case
If elapsedTime < 0 Then elapsedTime = elapsedTime + 1
outputCell.Offset(i - 1, 0).Value = elapsedTime
outputCell.Offset(i - 1, 0).NumberFormat = "[h]:mm:ss"
Else
outputCell.Offset(i - 1, 0).Value = "Invalid Time"
End If
Next i
MsgBox "Elapsed times calculated successfully for " & rowCount & " rows.", vbInformation, xTitleId
End Sub 2. Klik op de knop
om de code uit te voeren. U wordt gevraagd het begin van het tijdsbereik, het einde van het tijdsbereik en de locatie voor het resultaat van de verstreken tijd te selecteren. Het resultaat wordt weergegeven in een tijdnotatie.
Deze VBA-aanpak is vooral effectief als u de berekening of opmaak verder wilt aanpassen en tijd wilt besparen bij het werken met zeer grote spreadsheets.
Beste Office-productiviteitshulpmiddelen
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie zoals nooit tevoren.Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en Tijd besparen.Klik hier om de functie te krijgen die u het meest nodig heeft...
Office Tab brengt een tabbladinterface naar Office en maakt uw werk veel eenvoudiger
- Schakel tabbladbewerking en -lezen in voor Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten aan in nieuwe tabbladen binnen hetzelfde venster, in plaats van in afzonderlijke vensters.
- Verhoogt uw productiviteit met 50 % en bespaart u dagelijks honderden muisklikken!
Alle Kutools-add-ins in één installatieprogramma.
Kutools for Office bundelt add-ins voor Excel, Word, Outlook en PowerPoint, plus Office Tab Pro—ideaal voor teams die met meerdere Office-apps werken.
- Alles-in-één suite— add-ins voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro
- Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
- Werkt beter samen— gestroomlijnde productiviteit in alle Office-apps
- 30 dagen volledig functionele proefversie— geen registratie, geen creditcard
- Beste prijs-kwaliteitverhouding— bespaar ten opzichte van het afzonderlijk kopen van add-ins