Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

angefangene Monate zwischen zwei Daten
#11
wow, super, vielen herzlichen Dank. Das war genau dass was ich brauche. Juhuu
Antworten Top
#12
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
Antworten Top
#13
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:
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Antworten Top
#14
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!!!
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#15
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:
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Antworten Top
#16
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
Antworten Top
#17
Hallo,

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


Code:
=Datedif(A1-Tag(a1);Monatsende(b1;0);"M")
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#18
Hi Edgar,

deine Formel mag den Februar auch nicht. Die beiden Vorschläge von Sepp arbeiten einwandfrei.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#19
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.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#20
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.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste