KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Comment calculer une moyenne en fonction du jour de la semaine dans Excel ?

AuteurXiaoyang Date de modification

Dans Excel, il est fréquent de devoir calculer la moyenne d’une liste de nombres en fonction du jour de la semaine associé à chaque entrée. Par exemple, vous souhaiterez peut-être analyser des données de ventes pour déterminer le nombre moyen de commandes passées les lundis, les jours ouvrés ou encore les week-ends. Ce type de besoin revient couramment dans les rapports commerciaux, le suivi de performance ou toute analyse temporelle. Vous trouverez ci-dessous plusieurs solutions pratiques — à l’aide de formules, de code VBA et de tableaux croisés dynamiques — pour calculer facilement ces moyennes par jour de la semaine et ainsi tirer des insights pertinents sur la répartition de vos données selon les schémas calendaires.

moyenne basée sur le jour de la semaine


Calculer la moyenne selon Jour de la semaine à l’aide de formules

Calculer la moyenne selon un Jour de la semaine spécifique

Pour calculer la moyenne des valeurs associées à un jour de la semaine spécifique, comme tous les lundis, vous pouvez utiliser les formules matricielles d’Excel ou la fonction SUMPRODUCT. Cette approche est particulièrement efficace pour résumer les tendances quotidiennes et analyser les schémas d’événements. Par exemple, si vous souhaitez déterminer le nombre moyen de commandes passées précisément les lundis dans votre jeu de données, appliquez la méthode suivante :

Saisissez la formule suivante dans une cellule vide :

=AVERAGE(IF(WEEKDAY(D2:D15)=2,E2:E15))

Ensuite, appuyez simultanément sur Ctrl + Maj + Entrée. Cela indique qu’il s’agit d’une formule matricielle, permettant ainsi à Excel de traiter chaque ligne individuellement et d’obtenir le résultat correct.

utiliser une formule pour calculer la moyenne selon un jour spécifique de la semaine

Remarques et explications :

  • D2:D15 est votre liste de dates. Vérifiez qu’il s’agit bien de valeurs de date Excel valides.
  • 2 représente le lundi. Les chiffres attribués aux jours de la semaine sont les suivants : dimanche = 1, lundi = 2, mardi = 3, mercredi = 4, jeudi = 5, vendredi = 6, samedi = 7.
  • E2:E15 est la plage de nombres dont vous souhaitez calculer la moyenne, comme le nombre de commandes, les ventes ou d’autres indicateurs similaires.

Conseils :

  • Si votre version d’Excel prend en charge les formules de tableau dynamique (Office 365 ou version ultérieure), vous pouvez saisir la formule directement, sans avoir à utiliser Ctrl + Maj + Entrée.
  • Vérifiez qu’il n’y a ni cellules vides ni cellules non datées afin d’éviter toute erreur de formule.

Comme alternative plus souple, vous pouvez utiliser SUMPRODUCT pour obtenir le même résultat. Cette méthode ne requiert aucune saisie matricielle et s’adapte particulièrement bien aux grands jeux de données :

=SUMPRODUCT((WEEKDAY(D2:D15,2)=1)*E2:E15)/SUMPRODUCT((WEEKDAY(D2:D15,2)=1)*1)

Après avoir saisi cette formule dans une cellule, appuyez sur Entrée. Ici, D2:D15 correspond à votre plage de dates, E2:E15 à votre plage de données, et 1 représente le lundi (lorsque le deuxième argument de la fonction WEEKDAY vaut 2, ce qui attribue lundi = 1, mardi = 2, ..., dimanche = 7).


Calculer la moyenne selon les jours ouvrés

Pour calculer la valeur moyenne des jours ouvrés (du lundi au vendredi) dans vos données, vous pouvez utiliser la formule matricielle suivante :

=AVERAGE(IF(WEEKDAY(D2:D15,2)={1,2,3,4,5},E2:E15))

Saisissez cette formule dans une cellule vide, puis validez avec Ctrl + Maj + Entrée.

utiliser une formule pour calculer la moyenne selon les jours ouvrés

Remarques et explications :

  • Ce calcul détermine la moyenne uniquement pour les lignes dont la date tombe un jour ouvré, soit du lundi au vendredi.
  • Assurez-vous que vos valeurs de date dans D2:D15 sont valides, sinon WEEKDAY pourrait ne pas renvoyer les résultats attendus.

Conseils :

  • Si vous souhaitez éviter la saisie matricielle, optez pour l’alternative SUMPRODUCT ci-dessous.
  • Vérifiez que la colonne de dates contient de véritables dates Excel, et non du texte.

Une autre façon d’obtenir ce résultat consiste à utiliser une formule SUMPRODUCT :

=SUMPRODUCT((WEEKDAY(D2:D15,2)<6)*E2:E15)/SUMPRODUCT((WEEKDAY(D2:D15,2)<6)*1)

Il suffit de saisir cette formule et d’appuyer sur Entrée. Elle calcule la moyenne des valeurs dont le numéro du jour de la semaine est inférieur à 6, c’est-à-dire du lundi au vendredi.


Calculer la moyenne selon les week-ends

Pour calculer la moyenne uniquement des valeurs du week-end (samedi et dimanche), utilisez la formule matricielle suivante :

=AVERAGE(IF(WEEKDAY(D2:D15,2)={6,7},E2:E15))

Saisissez-la dans une cellule vide et validez avec Ctrl + Maj + Entrée.

utiliser une formule pour calculer la moyenne selon les week-ends

Remarques et explications :

  • Cette formule cible les dates pour lesquelles WEEKDAY renvoie 6 ou 7 (samedi ou dimanche) lorsque le deuxième argument est défini sur 2.

Conseils :

  • Pour les grands jeux de données, l’alternative SUMPRODUCT ci-dessous peut s’avérer plus rapide et élimine le recours à la saisie matricielle.
  • Vérifiez que les lignes vides et les dates invalides sont correctement gérées afin d’éviter des calculs de moyenne inattendus.

Une option plus rapide avec SUMPRODUCT, qui fonctionne sans saisie matricielle :

=SUMPRODUCT((WEEKDAY(D2:D15,2)>5)*E2:E15)/SUMPRODUCT((WEEKDAY(D2:D15,2)>5)*1)

Comme toujours, vérifiez les valeurs de date et repérez les cellules vides pour garantir l’exactitude de vos résultats.


Code VBA – Automatiser le calcul de moyennes par Jour de la semaine à l’aide d’une macro

Pour les utilisateurs recherchant une approche entièrement automatisée — notamment avec de grands jeux de données ou des mises à jour fréquentes —, vous pouvez utiliser VBA pour parcourir vos données, regrouper les entrées par jour de la semaine et calculer automatiquement les moyennes correspondantes. Cette solution est idéale pour éviter tout ajustement manuel des formules et obtenir instantanément un résumé hebdomadaire précis.

Scénario applicable :Convient lorsqu’on gère de longues listes, automatise des analyses répétitives ou présente des tableaux récapitulatifs pour tous les Semaine.

Avantages : Élimine les étapes manuelles, génère un résumé complet et peut être personnalisé pour un traitement ultérieur.

Inconvénients : Nécessite l’activation des macros et des connaissances de base en VBA ; peut ne pas convenir aux feuilles très dynamiques ou hébergées dans le cloud.

Procédure :

1. Cliquez sur Outils de développement > Visual Basic pour ouvrir l’éditeur VBA. Dans la fenêtre qui s’ouvre, sélectionnez Insertion > Module, puis collez le code suivant dans le nouveau module :

Sub AverageOrdersByWeekday()
    Dim dict As Object
    Set dict = CreateObject("Scripting.Dictionary")
    
    Dim cell As Range
    Dim ws As Worksheet
    Dim datesRange As Range, valuesRange As Range
    Dim i As Long, dayKey As String
    Dim sumArr(1 To 7) As Double
    Dim countArr(1 To 7) As Long
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set ws = Application.ActiveSheet
    Set datesRange = Application.InputBox("Select the date range", xTitleId, Selection.Address, Type:=8)
    Set valuesRange = Application.InputBox("Select the corresponding values range", xTitleId, "", Type:=8)
    
    For i = 1 To datesRange.Count
        If IsDate(datesRange.Cells(i).Value) Then
            Dim wd As Integer
            wd = Weekday(datesRange.Cells(i).Value, 2)
            sumArr(wd) = sumArr(wd) + valuesRange.Cells(i).Value
            countArr(wd) = countArr(wd) + 1
        End If
    Next i
    
    Dim resWs As Worksheet
    Set resWs = Worksheets.Add
    resWs.Name = "Weekday Averages"
    resWs.Cells(1, 1).Value = "Weekday"
    resWs.Cells(1, 2).Value = "Average"
    
    Dim dayNames As Variant
    dayNames = Array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
    
    For i = 1 To 7
        resWs.Cells(i + 1, 1).Value = dayNames(i - 1)
        If countArr(i) > 0 Then
            resWs.Cells(i + 1, 2).Value = sumArr(i) / countArr(i)
        Else
            resWs.Cells(i + 1, 2).Value = "No data"
        End If
    Next i
End Sub

2. Pour exécuter la macro, cliquez sur le bouton Bouton Exécuter ou appuyez sur F5. Une invite s’affichera pour vous permettre de sélectionner la plage de dates (par exemple, D2:D15) et la plage de valeurs correspondante (par exemple, E2:E15).
La macro crée une nouvelle feuille de calcul récapitulant la moyenne pour chaque jour de la semaine. La « moyenne » est calculée du lundi au dimanche, et si aucun jour ne comporte de données correspondantes, « Aucune donnée » s’affiche.

Précautions et conseils :

  • Vérifiez que les deux plages (dates et valeurs) sont de même taille et correctement alignées ligne par ligne.
  • Macro Pour l’exécuter, enregistrez votre classeur au format prenant en charge les macros (*.xlsm).
  • En cas d’erreur, assurez-vous que vos plages ne contiennent ni cellules vides ni données invalides.
  • Vous pouvez modifier le code pour ajouter un filtre sur certains jours de la semaine ou élargir le résumé.

Tableau croisé dynamique – Utiliser Tableau croisé dynamique pour regrouper les dates par jour de la semaine et calculer des moyennes sans formules

Une autre méthode pour analyser vos données et en calculer la moyenne par semaine consiste à utiliser un tableau croisé dynamique. Cette approche, intuitive et conviviale, ne nécessite ni formules manuelles ni codage. Les tableaux croisés dynamiques vous permettent de regrouper vos données de façon dynamique, de calculer facilement des moyennes et d’obtenir des résultats mis à jour instantanément dès que vos données changent.

Scénario applicable :Idéal pour les utilisateurs qui préfèrent les interfaces point-and-click et souhaitent des synthèses flexibles avec des options de glisser-déposer.

Avantages : Mise en place rapide, compatibilité avec de grands jeux de données, mise à jour automatique dès l’ajout de nouvelles données, et prise en charge d’analyses complémentaires (filtrage, tri, etc.).

Inconvénients : Nécessite que les données soient organisées sous forme de tableau Excel ou de plage structurée ; offre une personnalisation limitée par rapport aux solutions VBA.

Étapes de la procédure :

1.Ajoutez une colonne d’assistance pour les noms des jours de la semaine :
Dans une colonne vide (par exemple,)F), saisissez en F2:

=TEXT(D2,"dddd")

Copiez la formule vers le bas afin qu’elle s’adapte à vos lignes de données. (Suppose que les dates se trouvent dans)D2:D15.)

2.Sélectionnez votre plage source, y compris la colonne d’aide (par exemple,)D2:F15). Pour de meilleurs résultats, transformez-la en tableau Excel (Ctrl+T), puis gardez la sélection active.

3. Accédez à Insertion > Tableau croisé dynamique. Dans la boîte de dialogue Créer un tableau croisé dynamique, choisissez où le placer (« Nouvelle feuille de calcul » est recommandé) et cliquez sur OK.

4. Dans le volet Champs du tableau croisé dynamique :
— Faites glisser le champ d’aide Jour de la semaine (colonne F) vers la zone Lignes.
— Faites glisser votre champ numérique (par exemple,)Commandes de la colonne E) vers la zone Valeurs.

5. Modifiez l’agrégation en moyenne :
Cliquez sur la flèche déroulante dans la zone Valeurs > Paramètres des valeurs, puis choisissez Moyenne > OK.

6. (Facultatif) Triez les jours de la semaine du lundi au dimanche :
Cliquez avec le bouton droit sur n’importe quelle étiquette de jour > Trier > Autres options de tri, ou ajoutez une petite colonne d’aide personnalisée (1–7) et triez selon celle-ci. Vous pouvez également formater les nombres via Paramètres des valeurs > Format de nombre.

7. Actualisez dès que les données changent :
Après avoir mis à jour le tableau source, cliquez n’importe où dans le tableau croisé dynamique et sélectionnez Actualiser(ou)Données > Actualiser tout).

Conseils et dépannage :

  • Assurez-vous que la colonne de dates contient des dates Excel valides (et non du texte) ; sinon, la formule WEEKDAY risque d’échouer.
  • Si les moyennes semblent incorrectes, vérifiez que le champ Valeurs est défini sur Moyenne, et non sur Somme.
  • Après avoir modifié ou ajouté une ligne dans le tableau source, utilisez Actualiser afin que le tableau croisé dynamique recalcule les résultats.
  • Pour les paramètres régionaux utilisant des points-virgules, saisissez =TEXT(D2;"dddd") à la place.

Utiliser un tableau croisé dynamique pour l’analyse par jour de la semaine simplifie le processus et vous permet de créer des rapports interactifs, idéaux pour vos présentations ou pour partager facilement vos analyses avec d’autres personnes.

une capture d’écran de kutools for excel ia

Libérez la magie d’Excel avec Kutools IA

  • Exécution intelligente : effectuez des opérations sur les cellules, analysez des données et créez des graphiques, le tout à partir de commandes simples.
  • formules personnalisées : créez des formules sur mesure pour rationaliser vos flux de travail.
  • Programmation VBA : Écrivez et implémentez du code VBA en toute simplicité.
  • Interprétation de formules : Décryptez facilement les formules complexes.
  • Traduction de texte : Franchissez les barrières linguistiques directement depuis vos feuilles de calcul.
Améliorez vos capacités Excel grâce à des outils alimentés par l’intelligence artificielle.Téléchargez dès maintenantet découvrez une efficacité inégalée !

Articles associés :

Comment calculer une moyenne entre deux dates dans Excel ?

Comment faire la moyenne de cellules selon plusieurs critères dans Excel ?

Comment calculer la moyenne des 3 premières ou dernières valeurs dans Excel ?

Meilleurs outils de productivité Office

🤖Kutools IA Aide: Révolutionnez Analyse des données grâce à :Exécution intelligente   |  Générez du code|  Créez formules personnalisées  |  Analysez des données et générez des graphiques|  Appelez Fonctions améliorées
Fonctionnalités populaires:Rechercher, mettre en surbrillance ou Marquer les doublons   |  Supprimer les lignes vides   |  Combinez les colonnes ou cellules sans perdre de données   |   Arrondi sans utiliser de formule...
Super RECHERCHEV:RechercheValeurs avec critères multiples  |  RechercheValeurs avec valeurs multiples  |   RechercheValeurs dans plusieurs feuilles   |   Correspondance floue....
Liste déroulante avancée:Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple....
Gestionnaire de colonnes:Ajouter un nombre précis de colonnes|Déplacer des colonnes|Basculer la visibilité des colonnes masquées|Comparer des plages et des colonnes...
Fonctionnalités vedettes:Mise au point de la grille   |  Vue de conception   |Barre de formule améliorée   | Gestionnaire de classeurs et de feuilles   |  Bibliothèque de ressources(Texte automatique)|  Sélecteur de date   |  Consolider les feuilles de calcul  |  Chiffrer/Déchiffrer les cellules   | Envoyer des e-mails par liste   |  Super Filtre   |   Filtre spécial(Filtrer les cellules avec une police en gras/italique/barré...) ...
… et bien plus encore… et plus encore:(,)Supprimer des caractères spécifiques, ...)|   50+Typesde graphiques(, ...)|   40+ Formules pratiques(Calculer l'âge en fonction de la date de naissance, ...)|   19 Outils d’insertion(,Insérer une image depuis un chemin , ...)|   de conversion (Convertir en mots,Conversion de devises, ...)|Fusionner et scinder   (Fusion avancée des lignes,Diviser les cellules , ...)|, ...)   |
Utilisez Kutools dans la langue de votre choix – disponible en anglais, espagnol, allemand, français, chinois et 40+ autres langues !

Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile

  • Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !

Tous les compléments Kutools. Un seul installateur

Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.

ExcelWordOutlookTabsPowerPoint
  • Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
  • Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
  • Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
  • Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
  • Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels