moyenne d'une plage avec erreur #DIV/0!

alain83990

XLDnaute Nouveau
Bonjour a tous , voilà quelques jours que je bute sur plusieurs formules qui ne fonctionne pas :
je veux faire la moyenne d'une plage de cellule qui commence a BG5 et fini a BG35.
ma formule est la suivante =moyenne(BG5:BG35) " elle fonctionne bien quand je rempli au moins 1 cellule.
En effet dans chaque cellule il y a la formule suivante :=SI(BE5=0;"0";BE5/F5) ce qui affiche un zero si ma cellule n'est pas renseignée. donc en bas de mon tableau dans la cellule moyenne j'ai bien sur erreur #DIV/0!
ce qui est normal, mais des que je renseigne au moins une cellule, le signe erreur disparait et j'ai le bon résultat.
cependant aucune des formules que je vais mettre en dessous ne fonctionne.

=SI(NB(BG5:BG35)=NB.SI(BG5:BG35;"=0");"";SOMME(BG5:BG35)/(NB(BG5:BG35)-NB.SI(BG5:BG35;"=0"))) elle renvoi un zero a vide donc plus erreur #DIV/0!, mais la moyenne est fausse % quand au moins une cellule de la plage est remplie.

=SOMME(BG5:BG35)/(NB(BG5:BG35)-NB.SI(BG5:BG35;"=0")) elle renvoi un zero a vide donc plus erreur #DIV/0!, mais la moyenne est fausse % quand au moins une cellule de la plage est remplie

=MOYENNE(SI(BG5:BG35<>0;BG5:BG35)) avec fonction matricielle elle renvoi erreur #DIV/0! a vide et un bon résultat avec au moins une cellule remplie.

=MOYENNE.SI(BG5:BG35;"<>0") elle renvoi erreur #DIV/0! a vide et un bon résultat avec au moins une cellule remplie.

=SOMME(BG5:BG35/NB.SI(BG5:BG35;"<>0")) avec fonction matricielle elle renvoi un zero a vide donc plus erreur #DIV/0!, mais la moyenne est fausse % quand au moins une cellule de la plage est remplie.

=SI(ESTNA(BG5:BG35);"0";MOYENNE(BG5:BG35)) elle renvoi erreur #DIV/0! a vide et un bon résultat avec au moins une cellule remplie.

BREF, vous l'aurez compris..... je patine GRAVEo_O

Je ne sais pas si mes explications ont été claire, j'ai essayé de vous expliquer le plus clairement possible.
Merci d'avance pour votre Aide.;)
Alain
 

Pièces jointes

  • LIVRE DE CAISSE .xlsx
    95.3 KB · Affichages: 64

alain83990

XLDnaute Nouveau
merci, je viens d'essayer, effectivement en enlevant les guillemets, sur chaque cellule je n'ai plus de zero, mais un %, cela ne me gêne pas.
par contre en bas de ma plage ou j'ai la formule de la moyenne, maintenant j'ai un % qui est complétement faux ?????....
 

JunFan

XLDnaute Junior
Bonjour

Je pense qu'il faut utiliser la formule Moyenne.SI, voire Moyenne.Si.Ens

Je pense également que c'est mathématiquement faux. Car il faut prendre en compte la pondération de chaque jour.

Autrement dit, c'est plus fiable, et plus facile, de faire le total de chaque colonne puis le %.
 

alain83990

XLDnaute Nouveau
re
A cet endroit ?
Re
T'as regardé dans l'aide la syntaxe de moyenne.si.ens() ?????
Regarde sur le tableau que je t'ai envoyé et que tu m'as corrigé.
j'ai enlevé toutes les données de la colonne midi et soir, normalement en face de chaque résultat tu as un % a zero dans chaque cellule et c'est normal, mais regarde le bas de la feuille ou tu as mis ta formule et tu verras, que j'ai toujours l'affichage de l'erreur dans la formule moyenne. ce n'est qu'à l’affichage quand le tableau est vide et bien sur tout disparait quand on rempli au mois une cellule. c'est avec ça que j'ai un problème
merci encore pour le temps que je te fais perdre a essayer de résoudre un problème qui doit te paraitre mineur.
merci a tous les autres pour votre aide que j'apprécie beaucoup.
alain
 

Pièces jointes

  • LIVRE DE CAISSE essai 2.xlsx
    103.9 KB · Affichages: 54

fpointeau

XLDnaute Nouveau
Bonjour,
J'ai eu le même problème un peu similaire, aujourd'hui, j'ai trouvé une bonne solution:
par exemple une moyenne entre H3 et L3 :
H3I3J3K3L3M3
#DIV/0!​
0,87​
#DIV/0!​
#DIV/0!​
0,55​
0,71​

=MOYENNE(SI(ESTERREUR(H3:L3);"";H3:L3))

valider la cellule avec ctrl + maj + entrée, il va automatiquement ajouter les guillemets

{=MOYENNE(SI(ESTERREUR(H3:L3);"";H3:L3))}

Source

bonne journée
 
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Tester si le total est supérieur à zéro:

En BC38 : SI(BB37>0;MOYENNE.SI(BC5:BC35;"<>0";BC5:BC35);0)

En BC5 et suivantes vers le bas les SI(BB5=0;0;BB5/F5) peuvent être remplacés par
=SIERREUR(BB5/F5;0) (si votre version, que vous auriez du renseigner, le permet).

P.S. c'est une discussion qui date de février 2017 :)

Cordialement
 
Dernière édition:

fpointeau

XLDnaute Nouveau
Bonjour,
Oui, effectivement en 2017, j'ai parcouru beaucoup de forum et aucun n'a proposé cette solution sans modifier les autres formules, je l'ai déposé ici, car c'est le première page que j'ai consulté pour ma demande.
vive excel-downloads.com.
François
 

Discussions similaires

  • Question
Microsoft 365 #N/A
Réponses
6
Affichages
205

Statistiques des forums

Discussions
311 730
Messages
2 081 978
Membres
101 854
dernier inscrit
micmag26