Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Monatsdifferenz errechnen

Monatsdifferenz errechnen
20.03.2007 18:46:13
Thomas
Hallo,
ich gebe über zwei Textboxen txtStart und txtStop jeweils zwei Datumswerte eine (dd/mm/yyyy).
Jezt möchte ich mir errechnen lassen, wie viele Monate zwischen der Eingabe in txtStart und txtStop liegen.
Dieses Ergenibs möchte ich mit einer MsgBox ausgeben lassen.
Beispiel:
txtStart = 01.06.2007
txtStop = 17.09.2008
msgbox = 15 Monate
Gruß,
Thomas
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Monatsdifferenz errechnen
20.03.2007 18:57:00
Jan
Hi,
Die DATEDIF-Funktion:
Syntax: DATEDIF(Datum1;Datum2;"Parameter")
Datum2 muß größer als Datum1 sein.
Parameter (Muß immer in "" stehen):
y = Jahre DATEDIF("01.01.98";"15.02.99";"y") = 1
m = Monate DATEDIF("01.01.98";"15.02.99";"m") = 13
d = Tage DATEDIF("01.01.98";"15.02.99";"d") = 410
ym = Monate minus Jahre DATEDIF("01.01.98";"15.02.99";"ym") = 1 (13 Monate -1 Jahr (12 Monate))
yd = Tage minus Jahre DATEDIF("01.01.98";"15.02.99";"yd") = 45 (410 Tage - 1 Jahr (365 Tage !!))
md = Tage minus Monate minus Jahre DATEDIF("01.01.98";"15.02.99";"md") = 14 (Differenz vom 01.02. &15.02))
mfg Jan
Anzeige
AW: Monatsdifferenz errechnen
20.03.2007 19:26:52
Thomas
Hi Jan,
danke!
Habe gerade folgendes in VBA getestet, jedoch ohne Erfolg:
MsgBox DATEDIF("01.01.98", "15.02.99", "m")
DATEDIF wird irgendwie nicht erkannt!
mfg,
Thomas
AW: Monatsdifferenz errechnen
20.03.2007 19:46:00
proxima05
Probiere es mal so!
"Name der Sub" = DateDiff("d", CDate(Datum1), CDate(Datum2))
Gruß
Ralph
Anzeige
AW: Monatsdifferenz errechnen
20.03.2007 20:48:55
Thomas
Danke Euch beiden für die Hilfe, funktioniert nun!
mfg,
Thomas
AW: Monatsdifferenz errechnen
20.03.2007 19:54:00
Jan
Hi,
in VBA heisst es DateDiff:
DateDiff-Funktion
Gibt einen Wert vom Typ Variant (Long) zurück, der die Anzahl der Zeitintervalle zwischen zwei bestimmten Terminen angibt.
Syntax
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
Die Syntax für die DateDiff-Funktion besteht aus folgenden benannten Argumenten:
Teil Beschreibung
interval Erforderlich. Zeichenfolgenausdruck, der das Zeitintervall ergibt, das Sie zur Berechnung der Differenz zwischen date1 und date2 verwenden.
Date1, date2 Erforderlich. Wert vom Typ Variant (Date). Zwei Termine, die Sie in Ihrer Berechnung verwenden möchten.
Firstdayofweek Optional. Eine Konstante, die den ersten Tag der Woche angibt. Ist dieser Wert nicht angegeben, so wird Sonntag angenommen.
firstweekofyear Optional. Eine Konstante, die die erste Woche des Jahres angibt. Ist dieser Wert nicht angegeben, wird die Woche mit dem 1. Januar als die erste Woche angenommen.
Einstellungen
Das Argument interval hat die folgenden Einstellungen:
Einstellung Beschreibung
yyyy Jahr
q Quartal
m Monat
y Tag des Jahres
d Tag
w Wochentag
ww Woche
h Stunde
n Minute
s Sekunde
Das Argument firstdayofweek hat folgende Einstellungen:
Konstante Wert Beschreibung
vbUseSystem 0 Die NLS API-Einstellung wird verwendet.
vbSunday 1 Sonntag (Voreinstellung)
vbMonday 2 Montag
vbTuesday 3 Dienstag
vbWednesday 4 Mittwoch
vbThursday 5 Donnerstag
vbFriday 6 Freitag
vbSaturday 7 Samstag
Das Argument firstweekofyear hat folgende Einstellungen:
Konstante Wert Beschreibung
vbUseSystem 0 Die NLS API-Einstellung wird verwendet.
vbFirstJan1 1 Anfang in der Woche mit dem 1. Januar (Voreinstellung).
vbFirstFourDays 2 Anfang in der ersten Woche, die mindestens vier Tage im neuen Jahr enthält.
vbFirstFullWeek 3 Anfang in der ersten vollständigen Woche des Jahres.
Bemerkungen
Mit der DateDiff-Funktion können Sie bestimmen, wie viele angegebene Zeitintervalle zwischen zwei Terminen liegen. Sie können mit DateDiff zum Beispiel die Anzahl der Tage zwischen zwei Terminen oder die Anzahl der Wochen zwischen dem heutigen Tag und dem Jahresende berechnen.
Wenn Sie die Anzahl der Tage zwischen date1 und date2 bestimmen möchten, können Sie entweder den Tag des Jahres ("y") oder den Tag ("d") verwenden. Wenn interval ein Wochentag ("w") ist, gibt DateDiff die Anzahl der Wochen zwischen zwei Terminen zurück. Fällt date1 auf einen Montag, dann zählt DateDiff die Montage bis zum Datum date2, wobei date2 mitgezählt wird, date1 dagegen nicht. Ist interval dagegen eine Woche ("ww"), dann gibt die DateDiff-Funktion die Anzahl der Kalenderwochen zwischen den beiden Terminen zurück. Die Funktion zählt die Sonntage zwischen date1 und date2. DateDiff zählt date2 mit, sofern dieses Datum auf einen Sonntag fällt, date1 wird hingegen nicht mitgezählt, auch dann nicht, wenn das Datum auf einen Sonntag fällt.
Wenn date1 einen weiter in der Zukunft liegenden Zeitpunkt angibt als date2, gibt die DateDiff-Funktion eine negative Zahl zurück.
Das Argument firstdayofweek betrifft Berechnungen, die die Intervallsymbole "w" und "ww" verwenden.
Entspricht Datum1 oder Datum2 einem Datumsliteral, so wird das angegebene Jahr zu einem dauerhaften Bestandteil dieses Datums. Wird Datum1 oder Datum2 jedoch in Anführungszeichen ("") eingeschlossen und das Jahr nicht angegeben, so wird bei jeder Auswertung des Ausdrucks Datum1 oder Datum2 das aktuelle Jahr in Ihren Code eingefügt. Sie können daher Code schreiben, der in mehreren Jahren verwendet werden kann.
Wird der 31. Dezember mit dem 1. Januar des unmittelbar folgenden Jahres verglichen, gibt DateDiff für Jahr ("yyyy") den Wert 1 zurück, obwohl nur ein Tag vergangen ist.
Anmerkung Wenn die Calendar-Eigenschaft auf Gregorianisch steht, muß das mit date1 und date2 angegebene Datum auch dem Gregorianischen Kalender entsprechen. Wenn die Eigenschaft auf Hijri steht, muß das angegebene Datum dem Hijri-Kalender entsprechen.
mfg Jan
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Monatsdifferenz in Excel berechnen


Schritt-für-Schritt-Anleitung

Um die Monatsdifferenz zwischen zwei Daten in Excel zu berechnen, kannst du die DATEDIF-Funktion verwenden. Hier ist eine einfache Anleitung:

  1. Öffne Excel und erstelle eine neue Tabelle.
  2. Gib die Daten in zwei Zellen ein. Zum Beispiel:
    • Zelle A1: 01.06.2007
    • Zelle B1: 17.09.2008
  3. Verwende die DATEDIF-Funktion in einer dritten Zelle (z.B. C1):
    =DATEDIF(A1; B1; "m")

    Diese Formel gibt die Anzahl der vollen Monate zwischen den beiden Daten zurück.

  4. Optional: Um die vollständige Monatsdifferenz inklusive der verbleibenden Tage zu berechnen, kannst du die Formel folgendermaßen erweitern:
    =DATEDIF(A1; B1; "m") & " Monate und " & DATEDIF(A1; B1; "md") & " Tage"

Häufige Fehler und Lösungen

  • Fehler: DATEDIF wird nicht erkannt

    • Lösung: Stelle sicher, dass du die Funktion korrekt eingibst. DATEDIF ist möglicherweise nicht in der Auto-Vervollständigung verfügbar, funktioniert aber dennoch.
  • Fehler: Negative Ergebnisse

    • Lösung: Achte darauf, dass das erste Datum (Datum1) früher ist als das zweite Datum (Datum2). Andernfalls gibt DATEDIF negative Werte zurück. Wenn du negative Tage berechnen möchtest, kannst du die Funktion DATEDIF mit dem Parameter "d" verwenden.

Alternative Methoden

Falls du die DATEDIF-Funktion nicht nutzen möchtest, gibt es auch andere Möglichkeiten, die Anzahl der Monate zwischen zwei Daten zu berechnen:

  1. Verwendung von YEAR und MONTH:

    = (YEAR(B1) - YEAR(A1)) * 12 + (MONTH(B1) - MONTH(A1))
  2. Excel-Funktion DATE:

    =DATEDIF(A1, B1, "y") * 12 + DATEDIF(A1, B1, "m") - DATEDIF(A1, B1, "ym")

Beide Methoden sind nützlich, um die Monate zwischen zwei Daten zu zählen, jedoch ist die DATEDIF-Funktion einfacher und übersichtlicher.


Praktische Beispiele

  • Beispiel 1: Um die Anzahl Monate zwischen zwei Daten zu ermitteln:

    • A1: 01.01.2020
    • B1: 01.01.2021
    • C1 (Formel):
      =DATEDIF(A1, B1, "m")
    • Ergebnis: 12 Monate
  • Beispiel 2: Um die Monatsdifferenz und verbleibende Tage zu berechnen:

    • A1: 15.05.2021
    • B1: 15.08.2022
    • C1 (Formel):
      =DATEDIF(A1, B1, "m") & " Monate und " & DATEDIF(A1, B1, "md") & " Tage"
    • Ergebnis: 15 Monate und 0 Tage

Tipps für Profis

  • Verwende die DATEDIF-Funktion in Kombination mit anderen Funktionen, um komplexere Berechnungen durchzuführen, wie etwa die Anzahl der Wochen zwischen zwei Daten.
  • Nutze die Formatierung von Zellen, um sicherzustellen, dass die Eingabedaten als Datum erkannt werden.
  • Teste verschiedene DATEDIF-Parameter wie "d" für Tage oder "y" für Jahre, um zusätzliche Informationen über die Zeitspanne zwischen zwei Daten zu erhalten.

FAQ: Häufige Fragen

1. Wie kann ich die Anzahl der Wochen zwischen zwei Daten berechnen?
Verwende die DATEDIF-Funktion mit dem Parameter "w":

=DATEDIF(A1, B1, "w")

2. Funktioniert die DATEDIF-Funktion in allen Excel-Versionen?
Ja, die DATEDIF-Funktion funktioniert in den meisten Excel-Versionen, auch in Excel 365 und Excel 2019.

3. Was kann ich tun, wenn meine Daten nicht im richtigen Format vorliegen?
Stelle sicher, dass die Daten als Datum formatiert sind. Du kannst dies über die Zellenformatierung in Excel anpassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige