2017-07-29 2 views
2

LibreOffice Calc Tabellenkalkulation bietet eine Funktion ISOWEEKNUM, um den Standard ISO 8601 week number des angegebenen Datums zurückzugeben.Gegeben eine ISO 8601 Wochennummer, erhalten Sie das Datum des ersten Tages dieser Woche in LibreOffice Calc Tabelle

Ich will das Gegenteil.

➠ Geben Sie für eine Standard-Wochennummer das Datum des ersten Tages dieser Woche ein (das Montag-Datum).

Das Übergeben von ganzen Zahlen ist akzeptabel. Auch schön, wenn man einen String im Standardformat übergeben kann.

So:

DATE_OF_ISOWEEKNUM(2017 , 42) ➝ date of Monday of week 42 in week-based year 2017 
DATE_OF_ISOWEEKNUM("2017-W42") ➝ date of Monday of week 42 in week-based year 2017 

Idealerweise würde ich in der Lage sein, eine Reihe passieren 1-7 für Montag-Sonntag der Tag-of-Woche angeben, für die ich ein Datum will. Etwas wie folgt aus:

DATE_OF_ISOWEEKNUM(2017 , 42 , 1) ➝ date of Monday of week 42 in week-based year 2017 
DATE_OF_ISOWEEKNUM("2017-W42-1") ➝ date of Monday of week 42 in week-based year 2017 

DATE_OF_ISOWEEKNUM(2017 , 42 , 7) ➝ as above, but Sunday 
DATE_OF_ISOWEEKNUM("2017-W42-7") ➝ as above, but Sunday 
+0

Benutzer 'keme' gibt eine Reihe von Formeln, dies unter https://forum.openoffice.org/en/forum/viewtopic.php?f=9&t=14602 zu tun. Suchen Sie nach einer einzigen Funktion? Wenn dies der Fall ist, könnte "DATE_OF_ISOWEEKNUM" mit einem Makro implementiert werden. –

Antwort

1

Beispiel:

enter image description here

Formel:

=DATE(B$1,1,$A4*7)+(2-WEEKDAY(DATE(B$1,1,$A4*7)))-7*(ISOWEEKNUM(DATE(B$1,1,1))=1) 
  • Berechnen Sie das Datum des Tages (Wochennummer * 7) im Jahr.
  • Korrigieren Sie den Wochentag Montag.
  • Korrigieren Sie bis 7 Tage vorher, wenn der erste Tag des Jahres in der ersten ISO-Wochennummer ist.
Verwandte Themen