Moyenne avec condition effacer les valeurs 0

Résolu
erable33 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
-
Bonjour,
J'arrive à faire la moyenne des cellule H7 à T7, avec le résultat en F7, mais dans la plage de référence, il y en a des cellules vides, et cela se complique, pour les ligne suivantes, J'ai des lignes totalement vides (ou pas encore remplies). J'obtiens alors dans la colonne F ce message "dièse" DIV/0! que je ne souhaiterais pas voir, dans un tableau, cela fait moche.
Pourriez-vous m'aider ?
Je vous en remercie par avance, en attendant, je vous souhaite la bonne journée.

J'ai essayé beaucoup de variantes de cette formule, hélas en vain pour le moment.

=MOYENNE(H7:T7) SI (H7:T7<>"&0");sinon0))

A voir également:

8 réponses

Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 440
 
Bonjour
=SOMME(H7:T7)/NB.SI(H7:T7;"<>")
ou
=SOMME(H7:T7)/NB.SI(H7:T7;"><")
selon que vous ayez ou non des formules dans le champ

devrait faire l'affaire

prend en compte les 0 mais pas les vides.
crdlmnt
0
tontong Messages postés 2572 Date d'inscription   Statut Membre Dernière intervention   1 062
 
Bonjour Vaucluse,
Je voulais profiter de l'occasion compléter mon pense-bête à la page NB.SI mais là, j'ai un doute.
Est-il correct de retenir que =NB.SI(Champ;"><") compte les cellules qui contiennent des valeurs qui ne sont ni des nombres ni des valeurs logiques?
As-tu une meilleure définition du critère "><"?
Merci par avance.
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Salut,

a changer tu auras Excel 2010 mais les formules proposées fonctionnent très bien sous Excel 2003 comme cette formule qui calculera la moyenne en prenant en compte les valeurs 0

=SOMME(H7:T7)/NB.SI(H7:T7;"<>")

ou cette formule ne prend pas en compte les cellules contenant 0
=SOMME(H7:T7)/NB.SI(H7:T7;">0")
0
erable33 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Merci, mais cela ne va pas tout à fait, pour

MOYENNE(H7:T7);"";MOYENNE(H7:T7))

le partie ;""; est refusée, je supprime, alors la fin de parenthèse est refusée...
Je sens le but tout proche, mais..... il y a encore du chemin,

En tous cas, je vous remercie de votre coopération.
Bonne soirée.
Cordialement
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

Il doit manquer une donnée dans les explications, peux tu donner un exemple comme en H7 j'ai ça en I7 ça etc
et je dois obtenir ce résultat
0
erable33 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Pour la partie H7 T7 un exemple : Il s'agit de prix
H7,10.50 - J7, 9.75 - Q7, 14.52 - R7 11.15
H8 vide - K8 4.50 - T8, 6.75
J'aimerais obtenir la moyenne de ces prix pâr ligne de produits A, B, ou X,
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
la moyenne par ligne, pour la ligne 7 10.50+9075+14.52+11.15=45.92 il y 4 valeurs donc 45.92/4=11.48
qui est obtenu avec cette formule
=SOMME(H7:T7)/NB.SI(H7:T7;"<>")
idem pour la ligne 8
=SOMME(H8:T8)/NB.SI(H8:T8;"<>") qui donne la moyenne 5.625

Par contre ce que je ne comprends pas c'est ceci
J'aimerais obtenir la moyenne de ces prix par ligne de produits A, B, ou X,si dans la ligne 7 par exemple nous avons des produits différents il est certain que nos formules ne peuvent fonctionner en l'état et il faudra les compléter après avoir apporté un peu d'eau à notre moulin
0
erable33 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup, cela marche,

il ne reste plus " qu'à faire disparaître " la formule - dièse.DIV/0! - apparaissant à chaque ligne ou il n'y a aucune valeur d'enregistrée pour enfin pourvoir imprimer mon tableau de prix moyens. Ce que je sais pas encore faire

Mais pour le moment, je suis très content du résultat obtenu, je peux avancer dans mon travail.

Bonne soirée et mille mercis à tous.
Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

La solution a été donnée par mon ami Vaucluse que je salue au passage

la formule pour la ligne 7 est

=SI(ESTERREUR(SOMME(H7:T7)/NB.SI(H7:T7;"<>"));""; SOMME(H7:T7)/NB.SI(H7:T7;"<>"))

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0

 
Quelle version : 2007/2010 ou plus ancienne ?
Il y a des fonctions prévues pour ça ...
-1
erable33 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour les réponses, mais cela ne fonctionne toujours pas,
Ma version est 2003 je pense, achetée en 2006.

Avec ma formule =MOYENNE(H7:T7) SI (H7:T7<>"&0");sinon0)) j'ai un résultat faux
avec les 2 suivantes proposées, je n'obtiens rien.

Précisons, dans H7 - T7 (soit 13 cellules) - s'il y a des valeur elles sont toujours dif de 0, sinon il n'y a rien, elles sont vides, pas encore remplies. Elles le seront plus tard ou pas suivant les cas.

Pour la réponse fausse : F7 affiche la somme des cellules de la plage H7 - T7 toujours divisée par 13 et non par le nombre de cellules remplies (qui lui est variable) comme je le voudrais.

En attendant, bonne journée et merci d'avance
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 440
 
Bonjour Erable

Alors le code MOYENNE doit être utilisable sans problème dans ces conditions, sauf évidemment s'il n' y a aucune valeur dans la champ.*Pour éviter un affichage parasite, vous pouvez écrire:

=SI(ESTERREUR(MOYENNE(H7:T7);"";MOYENNE(H7:T7))

crdlmnt
0

 
votre moyenne sera elle vraiment juste si les critères non renseignée ne sont pas pris en compte ?

-1
loupdacier Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour :

La question a été posée depuis un moment, mais je viens de trouver une formule suite au même problème.

Je ne suis pas un pro d'excel, mais cela a l'air de fonctionner :

=(somme(xx:xx)/nbval(xx:xx))

Cordialement
-2