Table des matières
Alors que Microsoft Excel propose une série de fonctions permettant de travailler avec les jours de la semaine, les mois et les années, une seule est disponible pour les semaines - la fonction WEEKNUM. Ainsi, si vous cherchez un moyen d'obtenir un numéro de semaine à partir d'une date, WEEKNUM est la fonction qu'il vous faut.
Dans ce court tutoriel, nous parlerons brièvement de la syntaxe et des arguments de la fonction WEEKNUM d'Excel, puis nous aborderons quelques exemples de formules démontrant comment vous pouvez utiliser la fonction WEEKNUM pour calculer les numéros de semaine dans vos feuilles de calcul Excel.
Fonction WEEKNUM d'Excel - syntaxe
La fonction WEEKNUM est utilisée dans Excel pour retourner le numéro de semaine d'une date spécifique dans l'année (un nombre entre 1 et 54). Elle a deux arguments, le 1er est obligatoire et le 2ème est optionnel :
WEEKNUM(numéro de série, [type de retour])- Numéro de série - Il peut s'agir d'une référence à une cellule contenant la date, d'une date saisie à l'aide de la fonction DATE ou renvoyée par une autre formule.
- Type de retour (facultatif) - un nombre qui détermine le jour où la semaine commence. S'il est omis, le type 1 par défaut est utilisé (la semaine commençant le dimanche).
Voici une liste complète des type de retour
valeurs prises en charge dans les formules WEEKNUM.
Type de retour | La semaine commence le |
1 ou 17 ou omis | Dimanche |
2 ou 11 | Lundi |
12 | Mardi |
13 | Mercredi |
14 | Jeudi |
15 | Vendredi |
16 | Samedi |
21 | Lundi (utilisé dans le système 2, voir les détails ci-dessous). |
Dans la fonction WEEKNUM, deux fonctions différentes systèmes de numérotation des semaines sont utilisés :
- Système 1. La semaine contenant le 1er janvier est considérée comme la première semaine de l'année et est numérotée semaine 1. Dans ce système, la semaine commence traditionnellement le dimanche.
- Système 2. Il s'agit du système ISO de datation de la semaine qui fait partie de la norme ISO 8601 relative à la date et à l'heure. Dans ce système, la semaine commence le lundi et la semaine contenant le premier jeudi de l'année est considérée comme la semaine 1. Il est communément connu sous le nom de système européen de numérotation des semaines et est utilisé principalement dans les administrations et les entreprises pour les exercices fiscaux et le chronométrage.
Tous les types de retour énumérés ci-dessus s'appliquent au système 1, sauf le type de retour 21 qui est utilisé dans le système 2.
Remarque : dans Excel 2007 et les versions antérieures, seules les options 1 et 2 sont disponibles. Les types de retour 11 à 21 ne sont pris en charge que dans Excel 2010 et Excel 2013.
Formules Excel WEEKNUM pour convertir une date en numéro de semaine (de 1 à 54)
La capture d'écran suivante montre comment vous pouvez obtenir des numéros de semaine à partir de dates avec la méthode la plus simple. =WEEKNUM(A2)
formule :
Dans la formule ci-dessus, le type de retour
L'argument est omis, ce qui signifie que le type 1 par défaut est utilisé - la semaine commençant le dimanche.
Si vous préférez commencer par un autre jour de la semaine, par exemple le lundi, utilisez 2 dans le deuxième argument :
=WEEKNUM(A2, 2)
Au lieu de faire référence à une cellule, vous pouvez spécifier la date directement dans la formule en utilisant la fonction DATE(année, mois, jour), par exemple :
=WEEKNUM(DATE(2015,4,15), 2)
La formule ci-dessus donne 16, qui est le numéro de la semaine contenant le 15 avril 2015, la semaine commençant le lundi.
Dans les scénarios de la vie réelle, la fonction WEEKNUM d'Excel est rarement utilisée seule. Le plus souvent, vous l'utiliserez en combinaison avec d'autres fonctions pour effectuer divers calculs basés sur le numéro de semaine, comme le montrent les exemples suivants.
Comment convertir un numéro de semaine en date dans Excel
Comme vous venez de le voir, transformer une date en un numéro de semaine à l'aide de la fonction WEEKNUM d'Excel n'est pas un problème. Mais que faire si vous cherchez l'inverse, c'est-à-dire convertir un numéro de semaine en une date ? Hélas, il n'existe pas de fonction Excel qui puisse le faire directement. Nous devons donc construire nos propres formules.
Supposons que vous ayez une année dans la cellule A2 et un numéro de semaine dans B2, et que vous souhaitiez calculer les dates de début et de fin de cette semaine.
Remarque : cet exemple de formule est basé sur les numéros de semaine ISO, la semaine commençant le lundi.
La formule pour renvoyer le Date de début de la semaine est la suivante :
=DATE(A2, 1, -2) - JOUR DE LA SEMAINE(DATE(A2, 1, 3)) + B2 * 7
Où A2 est l'année et B2 est le numéro de semaine.
Veuillez noter que la formule renvoie la date sous la forme d'un numéro de série, et que pour qu'elle s'affiche sous la forme d'une date, vous devez formater la cellule en conséquence. Vous trouverez des instructions détaillées dans la rubrique Modification du format de la date dans Excel. Et voici le résultat renvoyé par la formule :
Bien sûr, la formule permettant de convertir un numéro de semaine en date n'est pas triviale, et il faudra peut-être un certain temps pour en comprendre la logique. Quoi qu'il en soit, je ferai de mon mieux pour fournir des explications pertinentes à ceux qui sont curieux d'aller au fond des choses.
Comme vous le voyez, notre formule se compose de 2 parties :
DATE(A2, 1, -2) - JOUR DE LA SEMAINE(DATE(A2, 1, 3))
- calcule la date du dernier lundi de l'année précédente.B2 * 7
- ajoute le nombre de semaines multiplié par 7 (le nombre de jours dans une semaine) pour obtenir le lundi (date de début) de la semaine en question.
Dans le système de numérotation des semaines ISO, la semaine 1 est celle qui contient le premier jeudi de l'année. Par conséquent, le premier lundi se situe toujours entre le 29 décembre et le 4 janvier. Pour trouver cette date, nous devons donc trouver le lundi qui précède immédiatement le 5 janvier.
Dans Microsoft Excel, vous pouvez extraire un jour de la semaine d'une date en utilisant la fonction WEEKDAY. Et vous pouvez utiliser la formule générique suivante pour obtenir le lundi précédant immédiatement une date donnée :
= date - JOUR DE LA SEMAINE( date - 2)Si notre objectif final était de trouver le lundi immédiatement avant le 5 janvier de l'année en A2, nous pourrions utiliser les fonctions DATE suivantes :
=DATE(A2,1,5) - JOUR DE LA SEMAINE(DATE(A2,1,3))
Mais ce dont nous avons besoin n'est pas le premier lundi de cette année, mais plutôt le dernier lundi de l'année précédente. Il faut donc soustraire 7 jours au 5 janvier et obtenir -2 dans la première fonction DATE :
=DATE(A2,1,-2) - JOUR DE LA SEMAINE(DATE(A2,1,3))
Par rapport à la formule délicate que vous venez d'apprendre, le calcul de la Date de fin de la semaine est un jeu d'enfant :) Pour obtenir le dimanche de la semaine en question, il suffit d'ajouter 6 jours à la date de début de la semaine. Date de début c'est-à-dire =D2+6
Vous pouvez aussi ajouter 6 directement dans la formule :
=DATE(A2, 1, -2) - JOUR DE LA SEMAINE(DATE(A2, 1, 3)) + B2 * 7 + 6
Pour s'assurer que les formules fournissent toujours les bonnes dates, regardez la capture d'écran suivante : les formules de date de début et de date de fin mentionnées ci-dessus sont copiées dans les colonnes D et E, respectivement :
Autres moyens de convertir le numéro de semaine en date dans Excel
Si la formule ci-dessus, basée sur le système de date hebdomadaire ISO, ne répond pas à vos besoins, essayez l'une des solutions suivantes.
Formule 1 : une semaine contenant Jan-1 est la semaine 1, semaine du lundi au dimanche.
Si vous travaillez sur la base d'un système de dates ISO dans lequel le premier jeudi de l'année est considéré comme la semaine 1, utilisez les formules suivantes :
Date de début :
=DATE(A2,1,1) - JOUR DE LA SEMAINE(DATE(A2,1,1),2) + (B2-1)*7 + 1
Date de fin :
=DATE(A2,1,1)- JOUR DE LA SEMAINE(DATE(A2,1,1),2) + B2*7
Formule 2 : une semaine contenant Jan-1 est la semaine 1, semaine du dimanche au samedi.
Ces formules sont similaires aux précédentes, à la seule différence qu'elles sont écrites pour la semaine du dimanche au samedi.
Date de début :
=DATE(A2,1,1) - JOUR DE LA SEMAINE(DATE(A2,1,1),1) + (B2-1)*7 + 1
Date de fin :
=DATE(A2,1,1)- JOUR DE LA SEMAINE(DATE(A2,1,1),1) + B2*7
Formule 3 : Toujours commencer à compter le 1er janvier, semaine du lundi au dimanche.
Alors que les formules précédentes donnent le lundi (ou le dimanche) de la semaine 1, qu'il s'agisse de l'année en cours ou de l'année précédente, cette formule de date de début donne toujours le résultat suivant 1er janvier comme date de début de la semaine 1, quel que soit le jour de la semaine. Par analogie, la formule de date de fin renvoie toujours 31 décembre comme la date de fin de la dernière semaine de l'année, quel que soit le jour de la semaine. Pour le reste, ces formules fonctionnent de la même manière que la formule 1 ci-dessus.
Date de début :
=MAX(DATE(A2,1,1), DATE(A2,1,1) - JOUR DE LA SEMAINE(DATE(A2,1,1),2) + (B2-1)*7 + 1)
Date de fin :
=MIN(DATE(A2+1,1,0), DATE(A2,1,1) - JOUR DE LA SEMAINE(DATE(A2,1,1),2) + B2*7)
Formule 4 : Toujours commencer à compter le 1er janvier, semaine du dimanche au samedi.
Pour calculer les dates de début et de fin pour une semaine du dimanche au samedi, il suffit d'un petit ajustement dans les formules ci-dessus :)
Date de début :
=MAX(DATE(A2,1,1), DATE(A2,1,1) - JOUR DE LA SEMAINE(DATE(A2,1,1),1) + (B2-1)*7 + 1)
Date de fin :
=MIN(DATE(A2+1,1,0), DATE(A2,1,1) - JOUR DE LA SEMAINE(DATE(A2,1,1),1) + B2*7)
Comment obtenir le mois à partir du numéro de semaine
Pour obtenir un mois correspondant au numéro de semaine, il faut trouver le premier jour d'une semaine donnée, comme expliqué dans cet exemple, puis envelopper cette formule dans la fonction MONTH d'Excel comme suit :
=MONTH(DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) + B2 * 7)
Note : N'oubliez pas que la formule ci-dessus fonctionne sur la base de l'indice de référence de l'UE. Système de date hebdomadaire ISO Par exemple, pour l'année 2016, le premier jeudi est le 7 janvier, et c'est pourquoi la semaine 1 commence le 4 janvier 2016.
Comment obtenir un numéro de semaine dans un mois (de 1 à 6)
Si votre logique de gestion exige la conversion d'une date spécifique en numéro de semaine dans le mois correspondant, vous pouvez utiliser la combinaison des fonctions WEEKNUM, DATE et MONTH :
En supposant que la cellule A2 contient la date d'origine, utilisez la formule suivante pour une semaine commençant le Lundi (remarquez 21 dans l'argument return_type de WEEKNUM) :
=WEEKNUM($A2,21)-WEEKNUM(DATE(YEAR($A2), MONTH($A2),1),21)+1
Pendant une semaine à partir du Dimanche , omettez l'argument return_type :
=WEEKNUM($A2)-WEEKNUM(DATE(ANNÉE($A2), MOIS($A2),1))+1
Comment additionner des valeurs et trouver la moyenne par le numéro de semaine ?
Maintenant que vous savez comment convertir une date en un numéro de semaine dans Excel, voyons comment vous pouvez utiliser les numéros de semaine dans d'autres calculs.
Supposons que vous ayez des chiffres de vente mensuels et que vous vouliez connaître le total pour chaque semaine.
Pour commencer, trouvons un numéro de semaine correspondant à chaque vente. Si vos dates se trouvent dans la colonne A et les ventes dans la colonne B, copiez le numéro de semaine correspondant à chaque vente. =WEEKNUM(A2)
dans la colonne C en commençant par la cellule C2.
Ensuite, dressez une liste des numéros de semaine dans une autre colonne (disons, dans la colonne E) et calculez les ventes pour chaque semaine en utilisant la formule SUMIF suivante :
=SUMIF($C$2:$C$15, $E2, $B$2:$B$15)
Où E2 est le numéro de la semaine.
Dans cet exemple, nous travaillons avec une liste de ventes de mars, et nous avons donc les numéros de semaine 10 à 14, comme le montre la capture d'écran suivante :
De la même manière, vous pouvez calculer la moyenne des ventes pour une semaine donnée :
=MOYENNE($C$2:$C$15, $E2, $B$2:$B$15)
Si la colonne d'aide avec la formule WEEKNUM ne s'intègre pas bien dans votre présentation de données, j'ai le regret de vous dire qu'il n'y a pas de moyen simple de s'en débarrasser car Excel WEEKNUM est l'une de ces fonctions qui n'acceptent pas les arguments de plage. Par conséquent, elle ne peut pas être utilisée dans SUMPRODUCT ou toute autre formule de tableau comme la fonction MONTH dans un scénario similaire.
Comment mettre en évidence les cellules en fonction du numéro de semaine
Supposons que vous ayez une longue liste de dates dans une colonne et que vous souhaitiez mettre en évidence uniquement celles qui se rapportent à une semaine donnée. Tout ce dont vous avez besoin est une règle de formatage conditionnel avec une formule WEEKNUM similaire à celle-ci :
=WEEKNUM($A2)=10
Comme le montre la capture d'écran ci-dessous, la règle met en évidence les ventes réalisées au cours de la semaine 10, c'est-à-dire la première semaine de mars 2015. Comme la règle s'applique à A2:B15, elle met en évidence les valeurs dans les deux colonnes. Vous pouvez en savoir plus sur la création de règles de formatage conditionnel dans ce tutoriel : Formatage conditionnel Excel basé sur la valeur d'une autre cellule.
C'est ainsi que vous pouvez calculer des numéros de semaine dans Excel, convertir un numéro de semaine en date et extraire un numéro de semaine d'une date. Nous espérons que les formules WEEKNUM que vous avez apprises aujourd'hui vous seront utiles dans vos feuilles de travail. Dans le prochain tutoriel, nous parlerons du calcul de l'âge et des années dans Excel. Je vous remercie de votre lecture et j'espère vous voir la semaine prochaine !