Excel Datumsfortschritt in %

2 Antworten

Der Einwand von Oubyi ist berechtigt, nur leider verstehe ich das "+13" in seiner Formel nicht.

Ich könnte folgende Alternative anbieten:

=TAG(HEUTE())/TAG(DATUM(JAHR(HEUTE());MONAT(HEUTE())+1;1)-1)

Pah - das ist elegant :-)

0
@Suboptimierer

ich hab mit den vielen ähnlichen Datumsformeln immer Schwierigkeiten, deshalb

andere Alternative:

=(HEUTE()-MONATSENDE(HEUTE();-1)+1)/(MONATSENDE(HEUTE();0)-MONATSENDE(HEUTE();-1))

MONATSENDE() ist auch im dt. xl als Eomonth() verfügbar: 0 ist der lfd Monat, -1 der Vormonat.
Ersetzt man HEUTE() durch einen Bezug, kann man das mühelos für jedes Datum errechnen (übrigens auch für Schaltjahr-Februars), auch in Deiner Formel.

0
@Iamiam

Klar ist ein Mehrfachaufruf von HEUTE suboptimal. Würde ich ein Sheet erstellen, würde ich mir ein verstecktes Tabellenblatt erstellen, in dem ich Zwischenschritte berechne (oder ich lasse sie mir direkt im betreffenden Sheet anzeigen).

Ich habe aber um ehrlich zu sein nicht verstanden, was deine Formel macht. Das liegt wohl daran, dass ich den zweiten Parameter von Monatsende nicht verstehe.
Kannst du dies bitte einmal kurz erläutern? Was ist der Unterschied, was ist der Vorteil, was ist das Ziel deiner Formel?

0
@Iamiam

DH!
Die Funktion MONATSENDE() war mir bisher auch noch nicht aufgefallen.
Wieder was gelernt.
Mithilfe dieser Funktion würde ich die Formel aber eher einfach SO schreiben:

=TAG(heute())/TAG(MONATSENDE(heute();0))**

Sollte eigentlich richtig sein, oder?

0
@Oubyi

....die ** bitte wegdenken! (:o|

0
@Oubyi

@Oubyi: stimmt, also immer wieder: warum einfach, wenns kompliziert auch geht?!
@Suboptimierer: der Zweite Parameter charakterisiert den Monat. lfd=0, ansonsten 0 oder - n (siehe Fo-Hilfe)

0
@Iamiam

Tippfehler: ansonsten + oder - n aber meine Formel ist auch falsch, ich hätte das +1 weglassen müssen.
Oubyis vereinfachte Formel ist richtig.
Trotzdem DH an Suboptimierer, denn stimmen tut die Formel und universell ist sie auch. (ich kann mir nur nie merken, welche Argumente Datum(...) erfordert, welche Datu, welche Datwert etc.

0

DH!

0

Ich würde das so machen:

=TAG(HEUTE())/30

Die Zelle der Formel als Prozent formatieren.

Um am 31. die 103,33% zu vermeiden so:

=MIN(1;TAG(HEUTE()+13)/30)

Klappt es?

0
@Oubyi

Ja,

vielen vielen Dank für die schnelle Info :D Hat wunderbar geklappt!

0
@Oubyi

Zugabe (;o):

SO sollte es auch noch genau auf den Monat bezogen klappen:

=TAG(HEUTE())/WAHL(MONAT(HEUTE());31;28;31;30;31;30;31;31;30;31;30;31)

0
@Oubyi

Das erscheint mir sehr viel nachvollziehbarer als die "+13"-Variante.

0
@Oubyi

Jetzt fehlt nur noch die Berücksichtigung der Schaltjahre :-)

0
@Suboptimierer

SORRY wg. der +13

Das war einfach ein blöder Flüchtigkeitsfehler.
Die Formel muss natürlich lauten:

=MIN(1;TAG(HEUTE()/30)

Mit den +13 hatte ich getestet, ob es am Monatsende richtig klappt, und dann vergessen sie vor dem rüberkopieren wieder zu löschen.
SORRY!

0
@Iamiam

Mit Deiner Hilfe, lamiam, bin ich jetzt bei dieser Formel "angelangt":

=TAG(HEUTE())/TAG(MONATSENDE(HEUTE();0))

0

Was möchtest Du wissen?