Calcul d'une moyenne avec conditions sur une plage de cellules

dd59mx Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous.

Je lance un appel à l'aide car je ne trouve pas de solution (courte)à un problème de tableur (excel) que mon fils m'a montré. Je cherche depuis 2 jours mais sans succès.
Je connais le tableur mais mes connaissances en la matière restent assez succinctes !
Voilà le problème (que mon fils n'a pas réussi à faire mais qu'on lui demande de refaire sans aide entre 2...) :
Sur une des feuilles d'un classeur, il a une plage de cellules (5colonnesx7lignes ; B9:F15) dans laquelle figurent des salaires fonction de l'ancienneté (B8:F8) et de la qualification (A9:A15). On lui demande de calculer le salaire moyen en fonction de critères (ex : Salaire fixe moyen des qualifications de 3 à 5 compris)
Voici l'image :

J'ai essayé "moyenne.SI" et "moyenne.si.ens".
Avec la 1ere fonction, j'arrive à calculer sur la plage complète (B9:F15) mais avec un seul critère (par exemple "=3")
Avec la 2eme fonction, j'arrive à calculer avec plusieurs critères mais colonne par par colonne (ou ligne par ligne) mais pas sur la plage complète (B9:F15). J'ai donc trouvé une solution mais qui me parait très longue (et infaisable avec un tableau beaucoup plus grand) en faisant la moyenne des "moyenne.si.ens" de chaque colonne. Voici la copie de la fonction :

=MOYENNE(MOYENNE.SI.ENS(B10:B16;A10:A16;">=3";A10:A16;"<=5");MOYENNE.SI.ENS(C10:C16;A10:A16;">=3";A10:A16;"<=5");MOYENNE.SI.ENS(D10:D16;A10:A16;">=3";A10:A16;"<=5");MOYENNE.SI.ENS(E10:E16;A10:A16;">=3";A10:A16;"<=5");MOYENNE.SI.ENS(F10:F16;A10:A16;">=3";A10:A16;"<=5"))

J'espère avoir été assez clair...

L'un ( l'une) d'entre vous aurait-il une solution plus rapide pour ce type de calcul comme "moyenne.si" c'est-à-dire un calcul sur une plage de cellules mais avec plusieurs critères ? C'est peut-être faisable mais je ne sais pas faire !

Remarque (ça a peut-être son importance: ensuite, il y a des données à récupérer sur certaines feuilles pour les placer dans d'autres (du même classeur, ouf !). Mais ceci est une autre histoire !

D'avance, un grand merci à tous ceux et toutes celles qui voudront bien prendre sur leur temps pour nous aider.

2 réponses

Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
en supposant les catégories de A9 à A16 et le tableau des montants de B9 à G16, (à adapter) essayez avec:

=SOMMEPROD((A9:A16>=3)*(A9:A16<=5)*(B9:F16))/SOMMEPROD((A9:A16>=3)*(A9:A16<=5)*(B9:F16>0))

et sin difficultés déposez un modèle Excel de votre tableau ici:
http://mon-partage.fr
et revenez coller le lien créé sur le site
crdlmnt
0
dd59mx Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup pour votre réponse. J'essaie dans l'après-midi et vous fait le retour.
Cordialement.
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
et à toutes fins utiles pour le même tableau, si la colonne A est bien classée en ordre décroissant et qu'il y a bien trois lignes à traiter: (5,4 et 3)
=MOYENNE(DECALER(A8;EQUIV(5;A9:A16;0);1;3;5))
on peut compliquer pour ajuster le 3 au nombre de lignes à traiter entre les limites
par exemple entre 5 et 3
=MOYENNE(DECALER($A$8;EQUIV(5;$A$9:$A$16;0);1;EQUIV(3;$A$9:$A$16;0)-EQUIV(5;$A$9:$A$16;0)+1;5))
crdlmnt

0