moyenne plusieurs cellules

  • Initiateur de la discussion Initiateur de la discussion celiostat
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

celiostat

Guest
Bonjour je souhaite calculer une moyenne a partir de divers cellules non adjacentes,

de plus, je souhaite je souhaite mettre une formule afin que si l'une d'entre elle comporte un zéro, elle ne soit pas prise en compte pour le calcul ,

dans le fichier ci joint,
j'ai donc indiqué valeur théorique et valeur recherché
la somme est donc divisé par 3 trop au lieu de 4, mais je voudrais que cela se fasse en automatique,
j'espère avoir été clair !

j'ai pensé à une fonction nb.si ....

Merci bcp pour votre aide
L.
 

Pièces jointes

Re : moyenne plusieurs cellules

Bonjour

formule matricielle à placer en C14 et à valider en appuyant sur Ctrl+Maj+Entrée
Code:
=SOMME(SI(MOD(LIGNE($1:$27);5)=0;$H$1:$H$27;0))/SOMME(SI(MOD(LIGNE($1:$27);5)=0;SI($H$1:$H$27>0;1;0);0))
si la validation est correcte, des {} encadreront automatiquement la formule.
 
Re : moyenne plusieurs cellules

merci de la réponse,

ceci dit j'aimerais autant que possible éviter les matricielles car le fichier va circuler et cela peut créer des confusions, par aillerus, les cellules à inclure étant en fait disposées horizontalement, je n'arrive pas à dupliquerla formule

une autre idée ?
 
Re : moyenne plusieurs cellules

re:

nb.si ne fonctionne pas sur des plages discontinues, il faut passer par macro voire une fonction personnalisée avec une plage nommée. mais son utilisation demande des formules matricielles. 😀 (on tourne en rond😀)

la fonction personnalisée contient 5 ou 6 lignes pas plus
 
Re : moyenne plusieurs cellules

bonjour celiostat, wilfried_42

voici une solution avec une fonction en VBA:
Code:
Public Function MaMoyenne(ParamArray zones()) As Double
Application.Volatile
Dim curCell As Range, nbVal As Integer, i As Integer
'MaMoyenne = 0: nbVal = 0
For i = LBound(zones) To UBound(zones)
    For Each curCell In zones(i)
        If IsNumeric(curCell.Value) And curCell.Value <> 0 Then
            MaMoyenne = MaMoyenne + curCell.Value
            nbVal = nbVal + 1
        End If
    Next curCell
Next i
If nbVal <> 0 Then MaMoyenne = MaMoyenne / nbVal
End Function
a+
 

Pièces jointes

Re : moyenne plusieurs cellules

faudra vraiment qu'un jour je me mette aux macros😡
je ne touche pas le VBA et donc suis obligé de rester avec nos bonne veilles formules à ralonge !!

merci à tous les deux,
j'ai opté pour la solution de wilfried à son deuxième post,

à bientôt,
passez un bon WE
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

S
Réponses
4
Affichages
1 K
S
Réponses
2
Affichages
1 K
H
Réponses
11
Affichages
1 K
L
Réponses
2
Affichages
1 K
Luc59
L
X
Réponses
5
Affichages
1 K
Xavlh76
X
Retour