Clever-Excel-Forum

Normale Version: angefangene Monate zwischen zwei Daten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
wow, super, vielen herzlichen Dank. Das war genau dass was ich brauche. Juhuu
Hallo Unbekannter


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
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: 
Code:
=DATEDIF(MONATSENDE(A1;-1)+1;MONATSENDE(B1;0);"m")+1

VBA (haut garantiert hin):
PHP-Code:
Option Explicit

Function DifferenzMonate(Start As DateEnde As Date) As Integer
   On Error 
GoTo Errohhandler
   Dim Rc 
As VariantNextMonth As Date
   Rc 
1
   NextMonth 
Start
   Do
      NextMonth 
Ultimo(DateAdd("m"1NextMonth))
      If NextMonth Ultimo(EndeThen 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) + 10)
End Function 
Aber vielleicht gibt es im Jahr 7285 ja noch einen Fehler ...  :05:
Off Topic

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!!!
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:
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
Hallo,

ungetestet würde ich sagen, dass folgende Formel doch passen müsste:


Code:
=Datedif(A1-Tag(a1);Monatsende(b1;0);"M")
Hi Edgar,

deine Formel mag den Februar auch nicht. Die beiden Vorschläge von Sepp arbeiten einwandfrei.
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.
Hi Edgar

Tabelle6

CDEFGHI
2X
931.01.201701.02.201722122
1001.02.201701.02.201721011
1102.02.201707.03.201732222
1201.02.201728.02.201721011
Formeln der Tabelle
ZelleFormel
E9=DATEDIF(MONATSENDE(C9;0);MONATSENDE(D9;2)-1;"m")
F9=DATEDIF(MONATSENDE(C9;-1)+1;MONATSENDE(D9;0);"m")+1
G9=DATEDIF(C9-TAG(C9);MONATSENDE(D9;0);"M")
H9=DATEDIF(MONATSENDE(C9;-1)+1;D9;"m")+1
I9=DATEDIF(C9-TAG(C9)+1;D9;"m")+1

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

In Spalte G ist deine Formel.
Seiten: 1 2 3