Moyenne à plusieurs occurrences

Bonjour à tous !

Je dois calculer une moyenne mensuelle du nombre de jours de présence de salariés en home office.

La structure de ma base de données est la suivante :

  • Une ligne par jour de télétravail par personne
  • Chaque ligne fait état de la date à laquelle a été réalisé le jour de home office
  • Les salariés sont rattachés par service

Comme je souhaite tout faire dans la même base de données, j'ai produit un NB.SI.ENS() qui reprend le total des jours de home office par matricule et par mois sur chaque ligne, car j'avais dans l'idée de faire une moyenne sur cette colonne :

MatriculeJour de home officeJours de home office consolidés
M113
M113
M113
M212
M212

Le problème est qu'en procédant de cette manière, la moyenne dans le TCD qui fait suite à cette BDD est égale à [(3x3) + (2x2)] / 5 = 2,6 alors que la moyenne réelle est de (3 + 2) / 2 = 2,5...

J'ai tenté de trouver un coefficient de multiplication pour gommer l'effet créé par la multiplicité du même matricule, mais je ne trouve rien jusqu'à présent.

Si quelqu'un a une idée pour ce problème finalement assez simple, je suis preneur ! La contrainte étant de rester sur la même BDD sans devoir produire des clés uniques par matricule dans un autre tableau, car j'en suis déjà à 35 000 lignes.

Merci à tous par avance !

Bonjour,

Un test via formule matricielle à valider par CTRL + SHIFT + ENTER sur une cellule de votre feuille :

=SOMME(B2:B6)/SOMME(1/NB.SI(A2:A6;A2:A6))

(3+2)/2 fait 2,5 et non 3. Le deuxième argument de la division dans la formule ci-dessus permet, après validation matricielle, de trouver le nombre de matricule unique apparaissant dans la plage A2:A6.

A adapter à votre fichier.

Si ça ne correspond pas merci de joindre un fichier représentatif anonymisé avec le résultat attendu et de préciser ce qui ne va pas dans la formule ci-dessus.

Cdlt,

Bonjour Ergotamine,

Merci pour la correction de calcul, je suis allé un peu vite !

Cette formule fonctionne pour le critère Matricule, mais est-il possible de le cumuler avec d'autres critères comme par exemple le service ? Avec un NB.SI.ENS() dans la formule matricielle donc ?

Merci par avance !

Bonjour,

C'est ça. J'ai fait un fichier de test avec le service. On a donc 3 combinaisons uniques (celles en vertes) et au total 5/3 = 1.6667

Cdlt,

3classeur1.xlsx (8.89 Ko)

Merci pour ce nouveau retour.

Je précise un peu plus ma question, car je ne pense pas avoir été suffisamment clair : il faut que je puisse avoir une moyenne par service (cf. exemple en pièce jointe).

Un matricule ne peut être rattaché qu'à un seul service.

Dites-moi si ça vous paraît plus clair, et désolé pour les incohérences...

Bonjour,

Toujours à valider en matriciel via CTRL + SHIFT + ENTER, où B13 est le service de recherche et BDD votre table structurée :

=SOMME.SI(BDD[Service];B13;BDD[Jour de home office])/SOMMEPROD(SI(ESTNUM(1/NB.SI.ENS(BDD[Service];B13;BDD[Matricule];BDD[Matricule]));1/NB.SI.ENS(BDD[Service];B13;BDD[Matricule];BDD[Matricule])))

Cdlt,

Merci beaucoup pour votre aide !

Rechercher des sujets similaires à "moyenne occurrences"