Mit DATEDIF kann Excel die Differenz zwischen zwei Datumswerten in Tagen, Monaten oder Jahren berechnen. Die Funktion ist besonders praktisch für Laufzeiten, Altersberechnungen oder die Frage, wie viele vollständige Monate zwischen heute und einem zukünftigen Datum liegen.
Grundsyntax von DATEDIF
Die Funktion verwendet drei Argumente:
=DATEDIF(Startdatum;Enddatum;Einheit)
Als Einheit werden Zeichenfolgen wie "d", "m" oder "y" verwendet.
Volle Monate zwischen heute und einem späteren Datum
Steht das zukünftige Datum in Zelle A1, lautet eine typische Formel:
=DATEDIF(HEUTE();A1;"m")
Das Ergebnis ist die Anzahl vollständig abgeschlossener Monate zwischen dem heutigen Datum und A1.
Beispiel
Liegt zwischen heute und dem Datum in A1 ein Zeitraum von 2 Monaten und 20 Tagen, liefert die Einheit m nur 2. Die zusätzlichen Tage werden nicht als Dezimalanteil ausgegeben.
Volle Jahre berechnen
Für vollständige Jahre:
=DATEDIF(A1;B1;"y")
Diese Variante eignet sich beispielsweise für Alter oder Vertragslaufzeiten.
Tage zwischen zwei Daten
Für vollständige Tage:
=DATEDIF(A1;B1;"d")
Für eine reine Tagesdifferenz kann allerdings auch einfach =B1-A1 verwendet werden, sofern beide Zellen echte Excel-Datumswerte enthalten.
Startdatum muss vor Enddatum liegen
Microsoft weist darauf hin, dass DATEDIF einen Fehler erzeugt, wenn das Startdatum später als das Enddatum ist. Wenn das zukünftige Datum möglicherweise bereits verstrichen sein kann, sollte die Formel deshalb abgesichert werden.
Beispiel:
=WENN(A1<HEUTE();0;DATEDIF(HEUTE();A1;"m"))
Damit wird bei einem vergangenen Zieltermin 0 ausgegeben.
Kalendermonate statt vollständiger Monate
Manchmal soll nicht die Zahl kompletter Monatsperioden berechnet werden, sondern wie viele Monatswechsel zwischen zwei Daten liegen.
Dafür kann verwendet werden:
=(JAHR(A1)-JAHR(HEUTE()))*12+MONAT(A1)-MONAT(HEUTE())
Diese Formel ignoriert den konkreten Tag des Monats. Sie beantwortet also eine andere Frage als DATEDIF.
Beispiel für den Unterschied
Vom 31. Januar bis 1. Februar liegt nur ein Tag. Die Kalendermonatsformel erkennt dennoch einen Monatswechsel. DATEDIF mit m liefert dagegen noch keinen vollständigen Monat.
Deshalb zuerst festlegen, welche Bedeutung „Anzahl Monate“ in der Tabelle haben soll.
Jahre und Restmonate
DATEDIF kann auch Komponenten eines Zeitraums ausgeben. Für die Anzahl Jahre verwendest du y, für Monate nach Abzug vollständiger Jahre existiert die Einheit ym.
Beispiel:
=DATEDIF(A1;B1;"y")&" Jahre, "&DATEDIF(A1;B1;"ym")&" Monate"
Damit entsteht eine lesbare Ausgabe wie „3 Jahre, 4 Monate“.
Vorsicht mit der Einheit MD
Microsoft dokumentiert ausdrücklich bekannte Einschränkungen beim Argument MD. Dieses soll die Tagesdifferenz nach Abzug von Monaten und Jahren liefern, kann aber unter bestimmten Datums-Konstellationen unerwartete Ergebnisse erzeugen.
Für wichtige Berechnungen sollte MD deshalb vermieden oder das Ergebnis sehr sorgfältig geprüft werden.
DATEDIF ist eine ältere Kompatibilitätsfunktion
DATEDIF ist historisch bedingt und wird von Excel weiterhin aus Kompatibilitätsgründen unterstützt. Die Funktion kann deshalb in der Funktionsauswahl weniger prominent erscheinen als modernere Excel-Funktionen.
Wenn Excel DATEDIF nicht automatisch beim Tippen vorschlägt, bedeutet das nicht zwangsläufig, dass die Funktion fehlt.
Echte Datumswerte verwenden
DATEDIF funktioniert nur zuverlässig, wenn Start- und Enddatum von Excel als Datum erkannt werden. Ein Text wie „24.04.2026“ kann optisch wie ein Datum aussehen, intern aber Text sein.
Ein einfacher Test: Ändere das Zahlenformat der Zelle vorübergehend auf „Standard“. Ein echtes Excel-Datum wird dann als Seriennummer dargestellt.
HEUTE() aktualisiert sich automatisch
HEUTE() liefert das aktuelle Systemdatum. Dadurch verändert sich eine Laufzeitformel automatisch jeden Tag, ohne dass du das Startdatum manuell aktualisieren musst.
Das ist ideal für Restlaufzeiten oder Fristen.
Fester Stichtag statt HEUTE()
Für Berichte, die später unverändert bleiben sollen, ist ein festes Datum besser. Schreibe den Stichtag in eine eigene Zelle und verwende diese Zelle in DATEDIF.
Sonst verändert sich das Ergebnis beim späteren Öffnen der Arbeitsmappe.
Ungefährer Dezimalwert in Monaten
DATEDIF liefert keine 2,5 Monate. Wenn ein angenäherter Dezimalwert gebraucht wird, kann die Tagesdifferenz durch die durchschnittliche Monatslänge geteilt werden:
=(A1-HEUTE())/30,4375
Das ist eine Näherung und keine exakte Zahl von Kalendermonaten. Für kaufmännische oder vertragliche Berechnungen sollte vorher geklärt werden, welche Definition gelten soll.
Aufrunden auf angefangene Monate
Wenn jeder begonnene Monat als voller Monat zählen soll, reicht DATEDIF allein nicht. Dann muss die Geschäftsregel definiert und eine passende Formel gebaut werden.
Beispielsweise kann ein vollständiger Monatswert plus ein zusätzlicher Monat berechnet werden, sobald Resttage vorhanden sind. Dabei sollten Monatsenden wie 28., 30. und 31. besonders getestet werden.
Datum aus Zellen statt Text
Microsoft empfiehlt generell, Datumswerte über Zellen oder Datumsfunktionen zu verwenden, statt Datumsangaben als unsichere Textzeichenfolgen in eine Formel zu schreiben.
Das vermeidet Probleme mit unterschiedlichen Länderformaten.
Negative Laufzeit bewusst behandeln
Wenn eine Frist überschritten ist, ist die Ausgabe 0 nicht immer sinnvoll. Vielleicht soll stattdessen „abgelaufen“ erscheinen:
=WENN(A1<HEUTE();"abgelaufen";DATEDIF(HEUTE();A1;"m"))
So wird die Bedeutung für den Nutzer deutlich.
Leere Zielzelle abfangen
Wenn A1 noch kein Datum enthält, kann eine Formel zu unerwünschten Ergebnissen führen. Eine robuste Variante prüft zuerst, ob überhaupt ein Zieltermin eingetragen ist, und berechnet erst danach die DATEDIF-Differenz.
Typische Fehler
- #ZAHL! beziehungsweise #NUM!: Startdatum liegt nach Enddatum.
- Unerwartet niedriger Monatswert: DATEDIF zählt nur volle Monate.
- Falsches Datum: eine Zelle enthält Text statt echten Datumswert.
- MD liefert merkwürdige Ergebnisse: bekannte Einschränkung dieser Einheit.
- Ergebnis verändert sich täglich: HEUTE() ist dynamisch.
Welche Formel für welchen Zweck?
Volle Monate bis zu einem Termin: =DATEDIF(HEUTE();A1;"m")
Kalender-Monatsabstand: Jahr-mal-12 plus Monatsdifferenz.
Volle Jahre: DATEDIF mit y.
Genaue Tage: Enddatum minus Startdatum.
Ungefähre Dezimalmonate: Tagesdifferenz durch durchschnittliche Monatslänge.
Fazit
DATEDIF ist für vollständige Monate, Jahre und Tage zwischen zwei Datumswerten weiterhin sehr nützlich. Entscheidend ist zu verstehen, dass m nur volle Monate zählt und nicht den Abstand der Kalenderblätter. Für robuste Tabellen sollten leere Zellen, vergangene Zieltermine und echte Datumswerte berücksichtigt werden. Die Einheit MD sollte wegen der von Microsoft dokumentierten Einschränkungen nur mit Vorsicht verwendet werden.