Seite 1 von 1
Ersten Freitag jeden Monats eines Jahres berechenen.
Verfasst: Sa, 23.12.2006 23:59
von jlauter
Wie kann man den ersten Freitag eines Monats bestimmen und das für alle 12 Monate eines Jahres wo man eine Jahreszahl angibt zum Beispiel 2007 und dann bekommt man immer den ersten Freitag im Monat von Januar bis Dezember
Verfasst: So, 24.12.2006 02:36
von komma4
wenn in A1 der 05.01.2007 (erster Freitag) steht..., dann berechnet folgende Formel in den weiteren 11 Zellen darunter (Formel durch drag/drop kopieren)
Code: Alles auswählen
=WENN(MONAT(DATWERT(VERKETTEN(JAHR(A1);"-";MONAT(A1);"-";TAG(A1)))+28)=MONAT(A1);DATWERT(VERKETTEN(JAHR(A1);"-";MONAT(A1);"-";TAG(A1)))+35;DATWERT(VERKETTEN(JAHR(A1);"-";MONAT(A1);"-";TAG(A1)))+28)
Hilft das?
Verfasst: So, 24.12.2006 12:24
von FranzX
Andere Möglichkeit:
In A1 steht das Kalenderjahr 2007 (4-stellig).
In B2 schreibst du die Formel:
=DATUM($A$1;ZEILE()-1;1)+(WOCHENTAG(DATUM($A$1;ZEILE()-1;1))>6)*7+(6-WOCHENTAG(DATUM($A$1;ZEILE()-1;1)))
Die Zelle B2 kannst du nun nach unten ziehen.
Zum Verständnis:
Der Parameter ZEILE()-1 der Funktion DATUM() berechnet den fortlaufenden Monat (=aktuelle Zeilennummer minus Anzahl der vorhergehenden Zeilen, so dass sich die Zahl 1 ergibt (=Monat 1).
Viele Grüße
FranzX
-----------------------------------------------------------------
TIPP:OpenOffice.org Calc - Formeln und Funktionen
Verfasst: Mi, 27.12.2006 08:05
von Eia
FranzX hat geschrieben:
=DATUM($A$1;ZEILE()-1;1)+(WOCHENTAG(DATUM($A$1;ZEILE()-1;1))>6)*7+(6-WOCHENTAG(DATUM($A$1;ZEILE()-1;1)))
Das hier finde ich eine raffinierte Kombination:
+(...)>6)
Ich habe zuerst wie blöd davorgestanden und nichts begriffen. Bis mir klar wurde, dass Du einfach einen Wahrheitsert bildest, der als Ergebnis 0 oder 1 liefert.
Guter Ansatz, werde ich mir merken (hätte mir schon einige komplizierte WENN-Konstruktionen sparen können).
Für das Datumsproblem habe ich noch einen anderen Ansatz:
Vom achten jeden Monats ausgehen statt vom ersten, dann wird die Formel kürzer:
Code: Alles auswählen
=DATUM($A$1;ZEILE()-1;8)-WOCHENTAG(DATUM($A$1;ZEILE()-1;1)+1)
mfG
Verfasst: Mi, 27.12.2006 09:01
von FranzX
Super Ansatz, der sogar noch etwas kürzer geht:
=DATUM($A$1;ZEILE()-1;8)-WOCHENTAG(DATUM($A$1;ZEILE()-1;2))
Viele Grüße
FranzX
-----------------------------------------------------------------
TIPP:OpenOffice.org Calc - Formeln und Funktionen
DANKE
Verfasst: Mo, 01.01.2007 00:48
von jlauter
DANKE