2017-07-29 1 views
2

La feuille de calcul LibreOffice Calc offre une fonction ISOWEEKNUM pour renvoyer la norme ISO 8601 week number de la date spécifiée.Étant donné un numéro de semaine ISO 8601, obtenez la date du premier jour de cette semaine dans la feuille de calcul LibreOffice Calc

Je veux le contraire.

➠ Étant donné un numéro de semaine standard, donnez-moi la date du premier jour de la semaine (la date du lundi).

Le passage d'entiers est acceptable. Aussi bien si capable de passer une chaîne au format standard.

Comme ceci:

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 

Idéalement, je serais en mesure de passer un certain nombre 1-7 pour lundi-dimanche pour indiquer le jour de la semaine pour laquelle je veux une date. Quelque chose comme ceci:

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

L'utilisateur 'keme' donne un ensemble de formules pour cela à https://forum.openoffice.org/fr/forum/viewtopic.php?f=9&t=14602. Cherchez-vous une seule fonction? Si oui, «DATE_OF_ISOWEEKNUM» pourrait être implémenté avec une macro. –

Répondre

1

Exemple:

enter image description here

Formule:

=DATE(B$1,1,$A4*7)+(2-WEEKDAY(DATE(B$1,1,$A4*7)))-7*(ISOWEEKNUM(DATE(B$1,1,1))=1) 
  • Calculer la date du jour (* 7 Semaine n °) dans l'année.
  • Corrigez le jour pour être le lundi en semaine.
  • Correct jusqu'à 7 jours avant, si le premier jour de l'année est dans le premier numéro de semaine ISO.