In der aktuell bevorzugten Antwort werden kurze Monate übersprungen, die auf lange folgen
Set A1 = 2014-01-31 Dann ist das Ergebnis mit = DATE (YEAR (A1), MONTH (A1) +1, DAY (A1)) 2014-03-03 und überspringt den Februar.
Der oben vorgeschlagene EDATE-Ansatz verliert Tage
Kurze Monate führen dazu, dass EDATE mehrere Tage hintereinander fällt. ZB = EDATE (DATE (2014,1,31), 1) erzeugt zwar den 28.02.2014, aber die erneute Anwendung führt zum 28.03.2014, was nicht der letzte Tag im März ist.
Eine Lösung, die funktioniert: Inkrementieren Sie die Monate, wobei der Tag auf Null gesetzt ist
Setzen Sie den Tag auf Null und erhöhen Sie die Monate, während Sie einen Monat voraus sind. ZB Um im Januar zu beginnen, benutze DATE (2014,2,0) => 2014-01-31, dann DATE (2014,3,0) => 2014-02-28, dann DATE (2014,4,0) -> 2014 -03-31 wie man es erwarten würde, wenn man den letzten Tag eines jeden Monats logisch verfolgt.
Andere Ansätze
Anpassungen können vorgenommen werden, wenn Sie den letzten Arbeitstag im Monat oder 30-Tage-Schritte wünschen, ohne Monate zu überspringen. Dies hängt vom Ziel ab.
edate
für mich gearbeitet , ohne das Problem erwähnen Sie (Version: 4.2.7.2)