web-dev-qa-db-fra.com

Moyenne de 5 cellules si non vide ou zéro

Je dois calculer une moyenne de 5 cellules, mais si une cellule est vide ou nulle, elle doit négliger cette valeur. 

Je ne parviens pas à le faire fonctionner 

=AVERAGEIFS(A10;B13;C5;D6;D8;"<>0")

Est-ce que quelqu'un sait comment calculer cela? 

9
Matthias Vanb

Vous recherchez "Averageif": Excel showing averageif

Spécifiquement, vous voulez utiliser la plage qui inclut les blancs possibles et utiliser ensuite "> 0" pour les critères.

=AVERAGEIF(C1:C5,">0")

Mise à jour: plages non contiguës (ne fonctionnent pas toutes)

Dans les commentaires pour cette réponse se trouve une discussion sur la localisation. Mes paramètres régionaux sont États-Unis (Excel 2010). Par conséquent, mon délimiteur entre les valeurs transmises à une fonction est la virgule.

Exécuter une fonction averageif sur des plages non contiguës est possible:

=AVERAGEIF(B1:B1:B3:B3:B5:B5:B7:B7,">0")

Excel 2010 comma-delimited averageif

Pour vos paramètres régionaux, vous devrez peut-être ajuster les délimiteurs, mais l’essentiel est de sélectionner des cellules individuelles, utilisez le format "C1: C1: D4: D4" pour les cellules individuelles C1 et D4. Le moteur doit analyser les références par paires.

20
Wally

Je me suis retrouvé à travailler sur quelque chose pour lequel je voulais calculer une formule uniquement avec les cellules qui ne sont pas vides. Pour ce faire, j'ai utilisé ce qui suit:

=IF(COUNT(DATA),COMPUTE(DATA),"")

(où COMPUTE est la formule ou le calcul que vous voulez faire, et DATA est la sélection des données que vous avez - dans mon cas une colonne de données).

Pour vous assurer que les cellules sont vides/nuls/quelque chose qui n’est pas une "valeur normale", vous pouvez utiliser quelque chose comme:

Exemple:

=IF(SUM(DATA)=0,"",SUM(DATA))

Cela ne fera la somme des données que si elles sont non nulles, et les autres cellules le seront voir cette cellule comme vide lorsque les données sont à zéro.

2
Raj

Averageif utilisant Indirect

Après avoir échoué environ trois fois avec mon autre réponse à cette question, cette réponse devrait être prête pour l'inspection:

=AVERAGEIF(INDIRECT({"b1","b3","b5","b7"}),">0")

Averageif and Indirect

Remarque: la localisation de mon Excel est États-Unis Excel 2010. Mon délimiteur est une virgule, ajustez-le selon vos paramètres régionaux. Si vous souhaitez également faire la moyenne des nombres négatifs, utilisez "<>0" comme dernière valeur de la fonction Averageif.

Comment ça marche

La fonction Indirect crée une plage personnalisée composée uniquement des cellules spécifiées par (dans ce cas) un tableau de chaînes. Averageif ajoute uniquement les éléments à son compte si les critères sont remplis.

0
Wally