Excel bietet etwa zwei Dutzend eingebaute Funktionen, mit deren Hilfe man Datums- und Zeitberechnungen durchführen kann.
Ein kleines Juwel findet man aber zumindest nicht in der „offiziellen“ Liste der Datumsfunktionen, obwohl es schon lange in Excel vorhanden ist.
Um komfortabel Datumsdifferenzen zu berechnen, können wir nämlich auch auf eine versteckte Funktion in Excel zurückgreifen.
Und so geht’s:
Datums-Differenzen berechnen
Wenn es darum geht, die Differenz zwischen zwei Datumsangaben zu berechnen, kann man natürlich eine einfache Subtraktion verwenden:
Das Ergebnis ist dann die Differenz in Tagen. Aber wieviele Jahre oder Monate sind 10630 Tage?
Hier hilft die in Excel gut versteckte und nicht dokumentierte Funktion DATEDIF weiter:
=DATEDIF(Anfangsdatum;Enddatum;Einheit)
Weder in der Funktionsübersicht noch in der Excel-Hilfe taucht diese überaus praktische Funktion auf. Warum, das kann wohl nur Microsoft beantworten.
Die ersten beiden Argumente – Anfangsdatum und Enddatum – sind klar. Für das dritte Argument „Einheit“ können folgende Werte eingegeben werden:
„Y“ – Gibt die Differenz in Jahren an.
„M“ – Gibt die Differenz in Monaten an.
„D“ – Gibt die Differenz in Tagen an.
„YM“ – Gibt die Differenz zwischen den beiden Monaten an. Die Tage und Jahre werden nicht berücksichtigt.
„MD“ – Gibt die Differenz zwischen den beiden Tagen an. Die Monate und Jahre werden nicht berücksichtigt.
„YD“ – Gibt die Differenz zwischen Tagen und Monaten an. Die Jahre werden nicht berücksichtigt.
Damit lässt sich z.B. das Alter schön berechnen:
(Hinweis: Nein, das ist nicht mein Geburtsdatum)
Oder die Dauer bis zur nächsten Fußball-WM:
Und für die Hartgesottenen unter uns:
Wieviel Zeit bleibt mir noch bis zu meinem statistischen Höchstalter? (ich kann den Aufschrei und die Empörung unter meinen Lesern formlich hören)
Wie man sieht, lassen sich allerhand mehr oder weniger praktische Berechnungen mit der DATEDIF-Funktion anstellen. Eine kleine Warnung möchte ich dennoch aussprechen:
Da es sich um eine undokumentierte Funktion handelt, besteht immer die Gefahr, dass Microsoft sie in zukünftigen Excel-Versionen stillschweigend aus dem Verkehr zieht. Aber bis dahin viel Spaß damit!
P.S. Die Lösung ist immer einfach. Man muss sie nur finden.
(Alexander Solschenizyn)
P.P.S. Das Problem sitzt meistens vor dem Computer.
Hallo Martin,
vielen Dank für Deine wöchentlichen Beiträge.
Gibt es eine ähnliche Funktion auch für Arbeitstage, oder
wie könnte man sich dabei helfen?
Dieter
Hallo Dieter,
ja, es gibt in der Tat eine Funktion namens NETTOARBEITSTAGE, mit der sich so etwas berechnen lässt. Wochenenden werden damit herausgerechnet, ebenso kann man Feiertage damit angeben, die dann ebenfalls nicht berücksichtigt werden. Ich hatte vor längerer Zeit mal einen kleinen Artikel darüber geschrieben.
Schöne Grüße,
Martin
Hallo Martin,
Ich brauche bitte deine Hilfe.
Ich möchte mithilfe der Formel DATEDIFeine Datumsdifferenz berechnen. Dazu habe ich folgendes gemacht:
Ich habe das Anfangsdatum (02.10.2006) in Zelle A1 geschrieben, das Enddatum (31.07.2009) in Zelle B1 und in C1 habe ich folgende Formel geschrieben:
=DATEDIF(A1;B1;“D“)
und ENTER gedrückt. Als Ergebnis schreibt er mir dann aber Null = 0, was definitiv FALSCH ist. Heraus kommen müsste 1020 Tage auf Basis dessen, dass die Formel jedes Monat mit 30 Tagen multipliziert (34Monate Mal 30Tage = 1020Tage)
Was stimmt an der Formel nicht bzw. was mache ich falsch?
Bitte um deine Unterstützung!
LG EKr
Hallo Martin,
ich hab die Formel nun in einem neuen Excel-Blatt probiert und bei folgender Formel:
Ich habe das Anfangsdatum (02.10.2006) in Zelle A1 geschrieben,
das Enddatum (31.07.2009) in Zelle B1
und in C1 habe ich folgende Formel geschrieben: =DATEDIF(A1;B1;”D”)
und ENTER gedrückt.
Als Ergebnis schreibt er mir dann 1033 Tage.
Wie kommt die Formel auf diese Tagesanzahl?
Rechnet die Formel mit 30 Tagen pro Monat oder mit 31 Tagen?
LG EKr
Hallo EKr,
die Formel rechnet weder mit 30 noch mit 31 Tagen pro Monat, sondern mit den exakten Tagen. Und damit sind es eben genau 1033.
Du kannst auch einfach mal in Zelle C1 die Formel „=B1-A1“ schreiben, dann kommst Du auf genau das gleiche Ergebnis.
Schöne Grüße,
Martin
Hallo Martin,
Deine Seite finde ich sehr interessant und habe aber dazu ein Problem!
Hier mein Beispiel:
(20.05.18) (29.05.18) = 9 Tage mit dieser Formel: =DATEDIF(A1;B1;“d“)
(20.05.18) (29.05.18) = 10 Tage mit dieser Formel: =DATEDIF(A1;B1;“d“)+1
Meiner Ansicht nach ist die Berechnung nur mit den 10 Tagen richtig und die vorige falsch!
Man sagt doch auch: „ich habe vom 20.05. bis 29.05. Urlaub“ und demnach wird Anfang- und Enddatum mitgerechnet!
Oder wie siehst Du das?
LG Heinz
Hallo Heinz,
freut mich, wenn Dir die Seite gefällt. Das Thema mit den Datumsberechnungen ist so eine Sache:
Die Formel berechnet die Anzahl der Tage zwischen zwei Datumsangaben. Umgangssprachlich also: Wenn heute der 20.05. ist, wieviele Tage sind es bis zum 29.05.? Antwort = 9 Beim Urlaub hast Du natürlich Rech, da hier Anfang- und Enddatum mitgerechnet wird.
Es ist also immer eine Frage dessen, was man genau berechnen möchte. Insofern kann man nicht pauschal sagen, die eine Lösung ist richtig und die andere falsch. Es kommt eben darauf an…
Schöne Grüße,
Martin
Leider ist die angegebene Formel für mich nicht geeignet, da das Startdatum nicht aus einer Tabellenspalte stammt, sondern fest eingegeben sein sollte. Das Enddatum soll auch nicht =heute() sein, sondern aus einer Tabellenspalte. Dsa Ergebnis soll auch nicht das Alter am jeweils heutigen Tage sein, sondern eben das Alter am Tag des Datums, welches aus der Spalte A stammt.
Folgende Formel, so wie ich sie im Internet gefunden habe, funktioniert leider nicht:
=DATEDIF(08.05.1945;A4;“Y“) & “ Jahre, “ & DATEDIF(08.05.1945;A4;“YM“) & “ Monate, “ & DATEDIF(28.11.1964;A4;“MD“) & “ Tage“
Wie müßte also die formel für meine Bedürfnisse aussehen. Ich hoffe die Antwort heißt nicht, daß dies Excel nicht kann.
Hallo,
du musst das fixe Datum in der Formel auch einfach nur in Anführungszeichen setzen (und natürlich in allen drei Formeln das gleiche Datum verwenden).
Schöne Grüße,
Martin
Hallo Martin,
Bin zufällig auf deine Seite gestoßen bei der Suche nach meinem Exelproblem.
Kann ich die Zeit mit der datedif-Funktion auch erschlagen
11.07.2020 17:45 01.09.2020 19:05
Im Voraus besten Dank
Heinz
Hallo Heinz,
DATEDIF wird nur mit dem Datumsanteil rechnen und die Uhrzeiten ignorieren.
Schöne Grüße,
Martin
Hallo Martin,
die Funktion ist tatsächlich super. Ich hab nur ein Problem damit, wenn sich das Alter 0 ergibt. Dann gibt die Funktion als Antwort „#ZAHL!“ aus. Ich habe Listen mit diversen Geburtstagen und möchte das Alter zu einem bestimmten Stichtag ermitteln. Das Alter 0 kann dabei regelmäßig auftreten. Das Einbetten in eine Wenn-Funktion hab ich probiert. Es hat nicht funktioniert – zumindest bei mir.
Hast du einen Tipp?
VG, Na
Hallo Nasti,
grundsätzlich kann man jeden Fehler mit der WENNFEHLER-Funktion abfangen. Zum Beispiel so:
=WENNFEHLER(DATEDIF(„09.01.2021″;“08.01.2021″;“Y“);“-„)
gibt anstelle eines #ZAHL!-Fehlers eben nur einen Bindestrich aus.
Schöne Grüße.
Martin
A B C D
Geburtstag 01.04.1985 11.12.2023 Jahre, Monate, Tage, Stunden, Minuten
=DATEDIF(B1,C1,“y“)&“ Jahre, „&DATEDIF(B1,C1,“ym“)&“ Monate, „&DATEDIF(B1,C1,“md“)&“ Tage, „&TEXT(C1-B1,“h“)&“ Stunden, „&TEXT(C1-B1,“m“)&“ Minuten“
Diese Formel habe ich in Zelle „D“ eingegeben. Es kommt immer eine Fehlermeldung. Was müsste ich in der Formel denn anstelle „TEXT“ eingeben? Stehe voll auf dem Schlauch. Wie wäre die korrekte Formel für mein obiges Beispiel? Kann mirjemend ievollständige Formel für mein Problem schreiben? Vielen Dank für die Hilfe.
Hallo Helmut,
die Formel scheint meiner Meinung nach schon korrekt zu sein, unter folgenden Annahmen:
Du verwendest keine deutsche Excel-Version, denn ansonsten wäre das Trennzeichen in den Funktionsargumenten kein Komma, sondern ein Semikolon
Die Datumsangaben in B1 und C1 sind echte Datumswerte und keine Texte
Außerdem werden die Stunden und Minuten jeweils den Wert 0 liefern, sofern die Angaben in B1 und C1 nicht zum Datum auch eine Uhrzeit enthalten
Bei mir hat die Formel jedenfalls funktioniert.
Schöne Grüße,
Martin