Differenz zwischen zwei Daten berechnen: Jahre, Monate und Tage exakt bestimmen
Hier ist ein umfassendes Tutorial, wie du die Differenz zwischen zwei Daten in Jahren, Monaten und Tagen berechnest – primär fokussiert auf Microsoft Excel (und Google Sheets), da dies das am häufigsten verwendete Werkzeug dafür ist.
Die Berechnung der genauen Zeitspanne zwischen zwei Daten ist oft komplizierter als gedacht, da Monate unterschiedliche Längen haben und Schaltjahre berücksichtigt werden müssen. In diesem Tutorial lernst du die effizientesten Methoden kennen.
1. Die Lösung in Excel & Google Sheets: Die DATEDIF-Funktion
Die Funktion DATEDIF ist ein „versteckter Schatz“ in Excel. Sie wird nicht in der Funktionsliste vorgeschlagen, funktioniert aber einwandfrei.
Die Syntax
=DATEDIF(Startdatum; Enddatum; "Einheit")
Die Einheiten (Parameter)
Um die Differenz kombiniert anzuzeigen, nutzen wir diese drei Parameter:
- "Y": Volle Jahre.
- "YM": Verbleibende Monate (nach Abzug der vollen Jahre).
- "MD": Verbleibende Tage (nach Abzug der vollen Monate).
Schritt-für-Schritt-Anleitung
Angenommen, dein Startdatum steht in Zelle A2 und dein Enddatum in Zelle B2.
- Jahre berechnen:
=DATEDIF(A2; B2; "Y") - Verbleibende Monate berechnen:
=DATEDIF(A2; B2; "YM") - Verbleibende Tage berechnen:
=DATEDIF(A2; B2; "MD")
Die Profi-Formel (Kombiniert)
Kopiere diese Formel, um ein Ergebnis wie „2 Jahre, 3 Monate und 5 Tage“ zu erhalten:
=DATEDIF(A2; B2; "Y") & " Jahre, " & DATEDIF(A2; B2; "YM") & " Monate und " & DATEDIF(A2; B2; "MD") & " Tage"
2. Mathematische Logik (Hintergrundwissen)
Wenn du die Berechnung manuell oder in einer Programmiersprache ohne Spezialfunktionen durchführst, ist dies die Logik:
- Differenz der Jahre: Ziehe das Geburtsjahr vom aktuellen Jahr ab.
- Monats-Check: Wenn der aktuelle Monat kleiner ist als der Startmonat, ziehe 1 Jahr vom Ergebnis ab und addiere 12 Monate zur Berechnung.
- Tages-Check: Wenn der aktuelle Tag kleiner ist als der Starttag, ziehe 1 Monat ab und addiere die Anzahl der Tage des Vormonats zum Ergebnis.
3. Lösung für Programmierer (Python)
In Python nutzt man am besten die Bibliothek dateutil, da die Standard-Library datetime keine direkte Differenz in Monaten/Jahren (wegen der variablen Längen) anbietet.
from datetime import date
from dateutil.relativedelta import relativedelta
start_date = date(2020, 5, 15)
end_date = date(2023, 8, 20)
diff = relativedelta(end_date, start_date)
print(f"{diff.years} Jahre, {diff.months} Monate, {diff.days} Tage")
# Ergebnis: 3 Jahre, 3 Monate, 5 Tage
4. Wichtige Hinweise & Fehlerquellen
- Reihenfolge: Das Startdatum muss immer vor dem Enddatum liegen, sonst gibt Excel den Fehler
#ZAHL!aus. - MD-Problem in alten Excel-Versionen: In sehr alten Excel-Versionen (vor 2010) konnte der Parameter "MD" manchmal ungenaue Ergebnisse liefern (Differenz von 1-2 Tagen). In modernen Versionen und Google Sheets ist dies behoben.
- Formatierung: Achte darauf, dass die Zellen A2 und B2 als "Datum" formatiert sind, sonst kann Excel die Berechnung nicht durchführen.
Zusammenfassung
Für die tägliche Arbeit ist die DATEDIF-Funktion mit den Parametern "Y", "YM" und "MD" die schnellste und zuverlässigste Methode, um eine menschlich lesbare Zeitspanne zwischen zwei Daten zu ermitteln.