04.02.2017, 18:32
04.02.2017, 19:08
Hallo Unbekannter
bist du sicher?
Teste einmal 02.02.2017 - 07.03.2017
Die Funktion Monatsende ist für diese Berechnungen eher ungeeignet.
Gruss Sepp
Zitat:wow, super, vielen herzlichen Dank. Das war genau dass was ich brauche
bist du sicher?
Teste einmal 02.02.2017 - 07.03.2017
Die Funktion Monatsende ist für diese Berechnungen eher ungeeignet.
Gruss Sepp
04.02.2017, 20:53
Moin,
Datedif und Monatsende sind hier wirklich etwas krude im Zusammenspiel ...
Mein letzter Versuch (wie gehabt a1 und B1), 2 Varianten, beide hauen auch bei Jahreswechsel, Wechseljahren, und auch 02.02.2017 - 07.03.2017 hin ...
plain Excel:
VBA (haut garantiert hin):
Aber vielleicht gibt es im Jahr 7285 ja noch einen Fehler ... :05:
Datedif und Monatsende sind hier wirklich etwas krude im Zusammenspiel ...
Mein letzter Versuch (wie gehabt a1 und B1), 2 Varianten, beide hauen auch bei Jahreswechsel, Wechseljahren, und auch 02.02.2017 - 07.03.2017 hin ...
plain Excel:
Code:
=DATEDIF(MONATSENDE(A1;-1)+1;MONATSENDE(B1;0);"m")+1
VBA (haut garantiert hin):
PHP-Code:
Option Explicit
Function DifferenzMonate(Start As Date, Ende As Date) As Integer
On Error GoTo Errohhandler
Dim Rc As Variant, NextMonth As Date
Rc = 1
NextMonth = Start
Do
NextMonth = Ultimo(DateAdd("m", 1, NextMonth))
If NextMonth > Ultimo(Ende) Then Exit Do
Rc = Rc + 1
Loop
DifferenzMonate = Rc
ErrorHandler:
MsgBox "Es ist ein Fehler aufgetreten" & vbCrLf _
& "Darum wird als Ergebnis 0 zurück gegeben." & vbCrLf _
& "Fehler: " & Err.Number & " " & Err.Description
End Function
Function Ultimo(Datum As Date) As Date
Ultimo = DateSerial(Year(Datum), Month(Datum) + 1, 0)
End Function
04.02.2017, 23:06
Off Topic
Hi Günther,
yep, aber hätte "Besserwisser" Josef B. (*ganzschnellduckundwech*) :89: nicht nach meiner Lösung weiter gestochert, hätte es diese "kruden" Verrenkungen gar nicht gebraucht. :05:
Spaß beiseite: super Lösung!
Sobald der (der Fehler - Anm. d. Reaktion) auftaucht, weißt du, was zu tun ist, oder? Du hast dich dann gefälligst beim Forumstreffen 7285 anzumelden und darüber (über den Fehler) zu referieren!!!
Hi Günther,
Zitat:Datedif und Monatsende sind hier wirklich etwas krude im Zusammenspiel ...
yep, aber hätte "Besserwisser" Josef B. (*ganzschnellduckundwech*) :89: nicht nach meiner Lösung weiter gestochert, hätte es diese "kruden" Verrenkungen gar nicht gebraucht. :05:
Spaß beiseite: super Lösung!
Zitat:Aber vielleicht gibt es im Jahr 7285 ja noch einen Fehler ...
Sobald der (der Fehler - Anm. d. Reaktion) auftaucht, weißt du, was zu tun ist, oder? Du hast dich dann gefälligst beim Forumstreffen 7285 anzumelden und darüber (über den Fehler) zu referieren!!!
05.02.2017, 11:08
Also Günter,
ich habe noch einmal darüber nachgedacht und bin zur Erkenntnis gekommen, dass es (wahrscheinlich) doch einen Fehler gibt: Liefere mir eine Zeitmaschine und dann zurück ins Jahr 1900. Da hat Excel (Win) ja den bekannten Fehler, dass es den 29. Februar in Excel aber nicht in der Realität gibt. Wenn da die Berechnung im Februar beginnt dann könnte es zu einem Falschergebnis kommen.
Die Zeitmaschine brauchen wir natürlich, weil das Treffen in Irgendwo dann ja auch 1900 stattfinden muss. :21:
ich habe noch einmal darüber nachgedacht und bin zur Erkenntnis gekommen, dass es (wahrscheinlich) doch einen Fehler gibt: Liefere mir eine Zeitmaschine und dann zurück ins Jahr 1900. Da hat Excel (Win) ja den bekannten Fehler, dass es den 29. Februar in Excel aber nicht in der Realität gibt. Wenn da die Berechnung im Februar beginnt dann könnte es zu einem Falschergebnis kommen.
Die Zeitmaschine brauchen wir natürlich, weil das Treffen in Irgendwo dann ja auch 1900 stattfinden muss. :21:
05.02.2017, 12:20
Hallo Günther
Obwohl du die Funktion MONATSENDE innerhalb von Datedif verwendest arbeitest du jetzt aber genau genommen mit dem Monats-Ersten . Damit kommt Datedif viel besser zurecht.
Da reicht sogar:
=DATEDIF(MONATSENDE(A1;-1)+1;B1;"m")+1
Oder:
=DATEDIF(A1-TAG(A1)+1;B1;"m")+1
Im Übrigen reicht es mir, wenn die Formel 100 Jahre vor und 100 Jahre zurück richtig funktioniert .
Gruss Sepp
Obwohl du die Funktion MONATSENDE innerhalb von Datedif verwendest arbeitest du jetzt aber genau genommen mit dem Monats-Ersten . Damit kommt Datedif viel besser zurecht.
Da reicht sogar:
=DATEDIF(MONATSENDE(A1;-1)+1;B1;"m")+1
Oder:
=DATEDIF(A1-TAG(A1)+1;B1;"m")+1
Im Übrigen reicht es mir, wenn die Formel 100 Jahre vor und 100 Jahre zurück richtig funktioniert .
Gruss Sepp
05.02.2017, 12:29
Hallo,
ungetestet würde ich sagen, dass folgende Formel doch passen müsste:
ungetestet würde ich sagen, dass folgende Formel doch passen müsste:
Code:
=Datedif(A1-Tag(a1);Monatsende(b1;0);"M")
05.02.2017, 13:53
Hi Edgar,
deine Formel mag den Februar auch nicht. Die beiden Vorschläge von Sepp arbeiten einwandfrei.
deine Formel mag den Februar auch nicht. Die beiden Vorschläge von Sepp arbeiten einwandfrei.
05.02.2017, 14:01
Hallo Günter,
ich kann das momentan nicht nachvollziehen, kann aber auch keine Beispiel darstellen, da ich am Tablet bin und keine Jeanie etc. habe.
ich kann das momentan nicht nachvollziehen, kann aber auch keine Beispiel darstellen, da ich am Tablet bin und keine Jeanie etc. habe.
05.02.2017, 14:11
Hi Edgar
Tabelle6
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
In Spalte G ist deine Formel.
Tabelle6
C | D | E | F | G | H | I | |
2 | X | ||||||
9 | 31.01.2017 | 01.02.2017 | 2 | 2 | 1 | 2 | 2 |
10 | 01.02.2017 | 01.02.2017 | 2 | 1 | 0 | 1 | 1 |
11 | 02.02.2017 | 07.03.2017 | 3 | 2 | 2 | 2 | 2 |
12 | 01.02.2017 | 28.02.2017 | 2 | 1 | 0 | 1 | 1 |
Formeln der Tabelle | ||||||||||||
|
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
In Spalte G ist deine Formel.