Die Funktion DATEDIF in Excel
DATEDIF gibt je nach gewählter Einheit die Anzahl der vollen Jahre, Monate oder Tage zwischen einem Anfangs- und einem Enddatum zurück.
Sie funktioniert in jeder Excel-Version, aber Excel schlägt sie beim Tippen nicht vor, daher musst du den ganzen Namen selbst schreiben. Das Anfangsdatum darf nicht nach dem Enddatum liegen.
Syntax
=DATEDIF(start_date, end_date, unit)
| Argument | Was es bedeutet |
|---|---|
| start_date | Das frühere Datum. |
| end_date | Das spätere Datum. |
| unit | „y“ volle Jahre, „m“ volle Monate, „d“ Tage, „ym“ Monate nach den vollen Jahren, „md“ Tage nach den vollen Monaten (unzuverlässig), „yd“ Tage nach den vollen Jahren. |
Beispiele
1. Alter in vollen Jahren
| A | B | |
|---|---|---|
| 1 | Alter | |
| 2 | Geboren | 1990-05-20 |
| 3 | Stichtag | 2026-03-01 |
| 4 | Jahre | 35 |
Der Geburtstag im Jahr 2026 (20. Mai) ist am 1. März noch nicht gekommen, daher sind erst 35 Jahre voll.
2. Volle Monate
| A | B | |
|---|---|---|
| 1 | Vertrag | |
| 2 | Beginn | 2026-01-15 |
| 3 | Ende | 2026-03-20 |
| 4 | Monate | 2 |
Vom 15. Januar bis zum 15. März sind es 2 volle Monate. Die zusätzlichen 5 Tage ergeben keinen dritten.
3. Jahre und Monate als zwei Teile
| A | B | |
|---|---|---|
| 1 | Alter | |
| 2 | Geboren | 1990-05-20 |
| 3 | Stichtag | 2026-03-01 |
| 4 | Zusätzliche Monate | 9 |
Nach 35 vollen Jahren (bis zum 20. Mai 2025) sind weitere 9 volle Monate vergangen. Zusammen: 35 Jahre und 9 Monate.
Häufige Fehler
Anfangsdatum nach dem Enddatum. Das Ergebnis ist der Fehler #ZAHL!.
Korrektur: Tausche die Daten, oder verwende
=DATEDIF(MIN(B2;B3);MAX(B2;B3);"d").Daten subtrahieren und das Alter durch 365 teilen. Schaltjahre machen das etwas ungenau, und es ergibt Dezimalzahlen.
Korrektur: Verwende DATEDIF mit "y" für volle Jahre.
Die Einheit „md“ verwenden. Microsoft warnt, dass sie falsche Ergebnisse liefern kann.
Korrektur: Berechne stattdessen die übrigen Tage mit MONATSENDE (Englisch: EOMONTH) oder EDATUM (Englisch: EDATE).
Häufig gestellte Fragen
Warum zeigt Excel DATEDIF nicht in der Funktionsliste an?
Die Funktion stammt aus Lotus 1-2-3 und wird aus Kompatibilitätsgründen beibehalten. Sie ist dokumentiert und funktioniert, wird aber aus den Vorschlägen ausgeblendet.
Wie zähle ich die Tage zwischen zwei Daten?
Subtrahiere sie, oder verwende TAGE (Englisch: DAYS)(Ende, Anfang). Nur für Arbeitstage verwende NETTOARBEITSTAGE (Englisch: NETWORKDAYS).
Verwandte Funktionen
- EOMONTHEOMONTH liefert den letzten Tag eines Monats, EDATE denselben Tag einige Monate später oder früher.
- NETWORKDAYSNETWORKDAYS zählt die Arbeitstage zwischen zwei Datumswerten, Montag bis Freitag, optional ohne Feiertage.
- WEEKDAYWEEKDAY gibt den Wochentag als Zahl zurück, und WORKDAY addiert Arbeitstage zu einem Datum und überspringt dabei Wochenenden.