Comment convertir ISOWEEKNUM en dates correspondantes dans Google Sheets

Bonjour mes meilleures amies ! Aujourd’hui, je vais vous révéler un petit secret sur Google Sheets qui va vous faciliter la vie. Savez-vous comment convertir ISOWEEKNUM en dates correspondantes dans Google Sheets ? Ne vous inquiétez pas, je suis là pour vous guider.

WEEKNUM et ISOWEEKNUM : Différences et similitudes

Avant de plonger dans le vif du sujet, il est important de comprendre les différences et les similitudes entre les fonctions WEEKNUM et ISOWEEKNUM. Les deux fonctions prennent une date en entrée et renvoient le numéro de semaine correspondant. Cependant, il y a une petite subtilité.

Dans la fonction WEEKNUM, vous pouvez spécifier un « type » qui représente le jour de début de la semaine. Il existe dix types différents, chacun correspondant à un jour spécifique. Par exemple, le type 1 correspond à une semaine commençant le dimanche.

La fonction ISOWEEKNUM, quant à elle, utilise le système ISO8601 pour numéroter les semaines. Selon ce système, la première semaine de l’année est celle qui contient le premier jeudi. Cela signifie que le début de la semaine est toujours un lundi. En d’autres termes, utiliser le type 21 dans la fonction WEEKNUM est équivalent à utiliser la fonction ISOWEEKNUM.

Maintenant que nous avons éclairci ce point, passons à la partie intéressante : comment convertir ISOWEEKNUM en dates correspondantes dans Google Sheets ?

Conversion d’ISOWEEKNUM en dates correspondantes

Avant de plonger dans les formules complexes, commençons par quelque chose de plus simple. Voici un exemple de données que nous utiliserons pour comprendre le concept :

Sample Data

Dans cet exemple, nous voulons trouver la date de début et de fin de paie à partir de l’ISOWEEKNUM. Pour ce faire, nous utiliserons les formules suivantes :

  • Formule pour la date de début (ISOWEEKNUM Start Date)

    =lambda(test, if(isoweeknum(test)=D2, test, ""))(date(C2,1,-2)-weekday(date(C2,1,3))+D2*7)
  • Formule pour la date de fin (ISOWEEKNUM End Date)

    =lambda(test, if(isoweeknum(test)=D2, test, ""))(date(C2,1,-2)-weekday(date(C2,1,3))+D2*7+6)

Il suffit de faire glisser ces formules vers le bas, de sélectionner les résultats et d’appliquer le format Date dans le menu Format. Voici un exemple du résultat obtenu :

ISOWEEKNUM to Corresponding Dates - Example

Anatomie des formules

Maintenant que nous avons vu les résultats, parlons un peu de l’anatomie des formules pour mieux les comprendre.

Le système de numérotation des semaines ISO (système européen de numérotation des semaines) stipule que le premier lundi de la semaine 1 se situe toujours entre le 29 décembre et le 4 janvier. C’est à partir de cette information que nous allons travailler.

La formule pour trouver le lundi précédent une date donnée est la suivante : date - weekday(date) + 2. Cela nous donne le lundi qui précède la date donnée.

Pour trouver le début de la semaine correspondant à l’ISOWEEKNUM, nous utilisons la formule suivante : date(year,1,-2)-weekday(date(year,1,3)). Cette formule nous donne le lundi précédent le 5 janvier de l’année en question.

Maintenant, pour trouver la date de fin de semaine, nous prenons le dernier lundi de l’année précédente (date(year,1,-2)-weekday(date(year,1,3))) et nous ajoutons 7 jours multipliés par l’ISOWEEKNUM pour obtenir la date de début de semaine, et 6 jours pour obtenir la date de fin de semaine.

Voici donc les formules complètes pour la conversion d’ISOWEEKNUM en dates correspondantes dans Google Sheets :

=lambda(test,if(isoweeknum(test)=D2,test,""))(date(C2,1,-2)-weekday(date(C2,1,3))+D2*7)
=lambda(test,if(isoweeknum(test)=D2,test,""))(date(C2,1,-2)-weekday(date(C2,1,3))+D2*7+6)

Le rôle du test logique dans la formule ISOWEEKNUM vers date correspondante

Maintenant, parlons un peu du test logique dans la formule. La formule if(isoweeknum(test)=D2,test,"") permet de vérifier si l’ISOWEEKNUM correspond à la valeur de D2. Si c’est le cas, la date est renvoyée, sinon, la cellule est laissée vide.

Le lambda nous permet de raccourcir le test logique en lui donnant le nom de « test ». Ainsi, le test logique pour la formule de conversion d’ISOWEEKNUM en dates correspondantes devient plus lisible et facile à comprendre.

Voilà, mes meilleures amies, vous savez maintenant comment convertir ISOWEEKNUM en dates correspondantes dans Google Sheets. J’espère que cet article vous a été utile et que vous pourrez l’appliquer dans vos propres projets. Si vous souhaitez en savoir plus sur Google Sheets et toutes ses fonctionnalités, n’hésitez pas à consulter Crawlan.com.

À bientôt pour de nouvelles astuces !

Articles en lien