web-dev-qa-db-fra.com

Comment utiliser AVERAGE dans ARRAYFORMULA dans Google Sheets

Je veux utiliser la version ARRAYFORMULA de

=AVERAGE(Linda!B3, Nandi!B3, David!B3, Remmelt!B3)

Je souhaite que la cellule calcule la valeur moyenne des entrées de cette cellule à partir des autres onglets (Linda, Nandi, David, Remmelt). Je dois utiliser AVERAGE et pas simplement la somme et la division, car je dois gérer le fait que tout le monde ne saisira pas de valeurs dans toutes les cellules.

J'ai essayé d'utiliser

=ARRAYFORMULA(AVERAGE(Linda!B3:B, Nandi!B3:B, David!B3:B, Remmelt!B3:B))

mais ensuite, il se situe en moyenne sur les quatre colonnes, pas seulement les quatre cellules que je veux.

Autant que je sache, ARRAYFORMULA prend une entrée de type array et l'affiche sur autant de cellules. Le problème est donc de rendre AVERAGE (ou similaire) la sortie d'un tableau.

7
Linda Linsefors

Les fonctions d'agrégation telles que AVERAGE, SUM et autres similaires qui obtiennent en tant que paramètres un tableau de valeurs et ne renvoient qu'une valeur unique ne peuvent pas renvoyer un tableau de valeurs à l'aide de ARRAYFORMULA.

Une alternative consiste à utiliser les opérateurs arithmétiques (+, -, /, *).

S'il est logique de supposer que

  • toutes les gammes sont de la même taille
  • il n'y a pas de cellules vides entre les cellules non vides
  • les cellules vides en bas doivent être ignorées

alors la formule suivante pourrait être utilisée pour calculer la moyenne:

=ARRAY_CONSTRAIN(
   Linda!B3:B+Nandi!B3:B+David!B3:B+Remmelt!B3:B,
   1,
   COUNT(Linda!B3:B)
 )
 /
COUNT(Linda!B3:B)
3
Rubén