en utilisant la formule de tableau à la moyenne si

J'ai quelques cellules d1:d10 . Certains ont des nombres, d'autres contiennent "" . Le "" est le résultat d'une fonction =iferror(,"") pour laisser une cellule vide.

J'essaie de faire la moyenne d1:d10 mais seulement les cellules qui ne sont pas "" .

J'ai =AVERAGE(IF(D12:D51<>"",D12:D51)) suivie de ctrl + shft + enter, mais elle prend toujours la moyenne de toutes les cellules (en prenant essentiellement la sum et en divisant par 10, où I voulez-vous prendre la sum et split par less de 10 selon le nombre de "" cellules)

Je n'ai pas pu reproduire votre problème dans Excel 2013. Normalement, la fonction moyenne d'Excel ignore le text, les cellules vides et les valeurs logiques. Donc, la formule suivante devrait faire ce que vous essayez de faire.

 =AVERAGE(D1:D10) 

La clause if de votre fonction renvoie soit des nombres soit FALSE. Encore une fois, normalement, la fonction moyenne d'Excel ignore les valeurs FALSE afin de ne pas se comporter comme vous l'avez dit. Si cela convertit des valeurs booleannes en valeurs numériques en fonction de la version d'Excel (FALSE à zéro), vous pouvez simplement donner une string au lieu d'une valeur booleanne afin d'ignorer ces valeurs:

 =AVERAGE(IF(D1:D10<>"", D1:D10, "s")) 

Alternativement, vous pouvez calculer la moyenne sans la fonction moyenne:

 =SUM(IF(D1:D10<>"", D1:D10))/COUNT(IF(D1:D10<>"", D1:D10))