Ne pas tenir compte des cases vides pour le calcul d'une moyenne pour formule matricielle

KCal

XLDnaute Nouveau
Bonjour

J'ai cette formule matricielle:

=SOMME(((JOURSEM($B$2:$B$45;2)=LIGNE(1:1))*$C$2:$C$45))/NB(SI((JOURSEM($B$2:$B$45;2)=LIGNE(1:1))*($C$2:$C$45<>"");JOURSEM($B$2:$B$45;2)))

C'est une moyenne de chiffre d'affaire sur un calendrier,
il y a donc des cases qui sont vides, je voudrais rajouter quelque chose à cette formule pour qu'elle ne tienne pas compte des cases vides pour calculer la moyenne.
Qu'elle ne tienne pas compte également des résultats négatifs

Pourriez vous me la compléter svp?

Merci d'avance pour votre aide
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

A essayer toujours en validation matricielle
Code:
=SOMME(((JOURSEM($B$2:$B$25;2)=LIGNE(1:1))*($C$2:$C$25>=0)*($C$2:$C$25<>"")*($C$2:$C$25)))/NB(SI((JOURSEM($B$2:$B$25;2)=LIGNE(1:1))*($C$2:$C$25>=0)*($C$2:$C$25<>"");JOURSEM($B$2:$B$25;2)))
Recopier vers le bas

JHA
 

jeanba

XLDnaute Occasionnel
Bonjour,

Pour ne pas avoir à poster inutilement une nouvelle conversation, je présente ici mon problème qui est similaire.
Voir dans le classeur si-joint
 

Pièces jointes

  • Calcul de Moyenne matricielle.xlsx
    14.4 KB · Affichages: 25

Jocelyn

XLDnaute Barbatruc
Bonjour le Forum,
Bonjour jeanba,

peut etre comme cela en D8

Code:
=MOYENNE(SI((ANNEE(DONNEES!$A$2:$A$25)=$B$1)*(MOIS(DONNEES!$A$2:$A$25)=D$1)*(DONNEES!$B$2:$B$25=$A$7)*(DONNEES!$C$1:$E$1=$B8)*(DONNEES!$C$2:$E$25>0);DONNEES!$C$2:$E$25))

en matricielle

Cordialement
 

Jocelyn

XLDnaute Barbatruc
re,

le renvoie de ce type d'erreur vint d'une division par 0

pour l'éviter toujours en D8 et en matricielle

Code:
=SIERREUR(MOYENNE(SI((ANNEE(DONNEES!$A$2:$A$25)=$B$1)*(MOIS(DONNEES!$A$2:$A$25)=D$1)*(DONNEES!$B$2:$B$25=$A$7)*(DONNEES!$C$1:$E$1=$B8)*(DONNEES!$C$2:$E$25>0);DONNEES!$C$2:$E$25));"")

Cordialement
 

Discussions similaires