Moyenne si les valeurs d'une plage répondent à un critère

Bonjour a tous,

Je viens faire appel à vous, car j'ai un problème que je n'arrive pas à résoudre seul, et sur lequel toutes les méthodes que j'ai essayé n'ont pas fonctionné.

Je vous expose donc la chose.

Je dois faire la moyenne d'une plage de valeur, si et seulement si une autre plage répond a un certain critère.

Pour être plus précis, j'ai deux colonnes qui m'intéressent.

La première est une colonne avec des temps (1 ou 2 qui sont mes critères) et une autre colonne qui contient les valeurs sur lesquels je dois faire ma moyenne.

D'abord je dois faire la moyenne si le temps est égal à 1, et ensuite la moyenne si le temps est égal à 2.

J'ai essayé plusieurs fonction (moyenne, si, somme.si, etc.) mais aucune d'entre elles n'ont fonctionné.

Si quelqu'un aurait une solution je suis preneur.

Je joins également le fichier Excel correspondant afin que vous y voyiez plus clair.

764classeur1.xls (16.00 Ko)

D'avance merci.

Bonjour,

en G3

=MOYENNE.SI(B:B;F3;C:C)

çà ne compte pas les vides

Amicalement

Claude

Bonjour Claude,

merci pour ta réponse mais malheureusement ta solution ne fonctionne pas pour moi.

lorsque je rentre cette formule j'obtient dans ma cellule : "#NOM?"

je pense que le probleme vient de ma version d'excel.

en effet j'ai le 2003 et je croi que cette fonction n'existe pas dans version.

aurais-tu autre chose a me proposer ?

merci,

Hugo.

Bonjour,

Je te propose ceci (en G3) :

=(SOMMEPROD((B2:B55=1)*(C2:C55)))/(SOMMEPROD((B2:B55=1)*1)-SOMMEPROD((B2:B55=1)*(C2:C55="")*1))

et en G4 :

=(SOMMEPROD((B2:B55=2)*(C2:C55)))/(SOMMEPROD((B2:B55=2)*1)-SOMMEPROD((B2:B55=2)*(C2:C55="")*1))

En fait cela calcule de cette façon :

"(somme des valeurs dans C SI dans B correspond au critère demandé [ici 1]) / (compter le nombre de 1 présents - compter le nombre de 1 présents SI dans C il y a des champs vides)"

J'espère que j'ai été clair...

je pense qu'il peut y avoir une solution plus souple mais je ne vois pas encore...

Note : SOMMEPROD existe dans Excel 2003

Bonne journée

-- 22 Avr 2011, 14:07 --

Plus simple...

En G3 :

=(SOMMEPROD((B2:B55=1)*(C2:C55)))/(SOMMEPROD((B2:B55=1)*(C2:C55<>"")*1))

En G4 :

=(SOMMEPROD((B2:B55=2)*(C2:C55)))/(SOMMEPROD((B2:B55=2)*(C2:C55<>"")*1))

C'est compter le nombre de 1 lorsqu'il existe des cases NON VIDES dans C =SOMMEPROD((B2:B55=2)*(C2:C55<>"")*1) qui est plus court que de compter le nombre total de 1 MOINS compter le nombre de 1 si dans C il y a des cases vides....

A+

Bonjour,

Ou encore avec une formule matricielle (la formule doit être validée par Ctrl+Maj+Entrée au lieu de entrée seul) :

=MOYENNE(SI($B$2:$B$55=1;$C$2:$C$55))

A+

bonjour

face a la multiple possibilité de resultat mal verifiables ;apres verification empirique ;ceci ressort

=MOYENNE(SI(B2:B55=1;SI(C2:C55="";"";C2:C55))) matricielle

un avis ?

cordialement

Bonjour

Toujours en saisie matricielle, une formule plus "générique"

=MOYENNE(SI(B2:B55=1;SI(ESTNUM(C2:C55);C2:C55)))

qui ne tient pas compte des cellules qui pourraient renvoyer une valeur d'erreur ou vides ou contenant du texte.

Voir fichier

Cordialement

591classeur1.xls (16.50 Ko)

Désolé à tout le monde mais je ne suis pas venu ce week, et donc je n'avais pas vu vos réponses.

En tout cas j'ai testé et ça y est tout fonctionne.

Merci à vous tous d'y avoir consacré un peu de temps.

Bonne semaine à tous et a bientot,

Cordialement hugo.

Rechercher des sujets similaires à "moyenne valeurs plage repondent critere"