Formule Moyenne : cellules Filtrée, Masquée, Sans 0
hardgratte
Messages postés
482
Statut
Membre
-
hardgratte Messages postés 482 Statut Membre -
hardgratte Messages postés 482 Statut Membre -
Bonjour,
J'ai un soucis qui a l'air simple au premier abord, mais que je n'ai pas réussi à résoudre malgré mes recherches.
Je souhaite faire un moyenne qui ne prend pas en compte :
- Les cellules filtrées
- Les cellules masquées
- Les cellules contenant des "0" (qui résultent d'un calcul appliqué à des cellules pas encore complétées)
Je souhaite, en fait, combiner ces 2 formules :
=MOYENNE.SI(L8:L6000;">0")
=SOUS.TOTAL(101;L8:L6000)
Un genre de "SOUS.TOTAL.SI"... mais ça n'existe pas en l'état.
Merci d'avance pour vos suggestions.
J'ai un soucis qui a l'air simple au premier abord, mais que je n'ai pas réussi à résoudre malgré mes recherches.
Je souhaite faire un moyenne qui ne prend pas en compte :
- Les cellules filtrées
- Les cellules masquées
- Les cellules contenant des "0" (qui résultent d'un calcul appliqué à des cellules pas encore complétées)
Je souhaite, en fait, combiner ces 2 formules :
=MOYENNE.SI(L8:L6000;">0")
=SOUS.TOTAL(101;L8:L6000)
Un genre de "SOUS.TOTAL.SI"... mais ça n'existe pas en l'état.
Merci d'avance pour vos suggestions.
Configuration: Windows / Chrome 101.0.4951.67
2 réponses
-
Bonjour
Fonction personnalisée à mettre dans un module de l'éditeur VBA (ALt+F11 pour ouvrir éditeur - Insertion Module - copier coller la macro dans la page blanche - fermer l'éditeur)Function moyenne_perso(plage As Range) For Each cell In plage n = cell.Row valeur = cell.Value If Rows(n).Hidden = False And valeur > 0 Then tot = tot + valeur nbre = nbre + 1 End If Next moyenne_perso = tot / nbre End Function
S'emploie comme n'importe quelle fonction selon la syntaxe
=moyenne_perso(plage à traiter)
par ex =moyenne_perso(L8:L1000)
Cdlmnt
Via
-
Re,
La seule fonction qui exclue les cellules filtrées ou masquées est à ma connaissance SOUS;TOTAL
Donc soit tu arrives à masquer par filtrer aussi les lignes avec des 0 et plus de problème
soit tu modifies ta formule de calcul pour qu'au lieu de 0 elle renvoie du vide qui lui n'est pas comptabilisé dans une moyenne en faisant par exemple = SI(ta formule actuelle=0;"";ta formule actuelle)