Dans une feuille, je fais des calculs horizontalement, mais je ne peux pas construire la formule array pour développer le calcul verticalement sur chaque ligne. Voir la fiche suivante:
Sélectionnez l'onglet "arrayformula", et pointez sur la formule dans la colonne F
=COUNTA(B3:E3)
Comment puis-je appliquer arrayformula pour qu'il puisse s'étendre à toutes les lignes?
En fouillant le Web, j'ai trouvé un Google Post qui dit:
Les fonctions d'agrégation telles que sum () ne produiront pas de résultats multicellules dans un wrapper arrayformula (). Pour calculer les totaux ligne par ligne des valeurs numériques des colonnes A à C à partir de la ligne 2, utilisez la simple addition au lieu de sum ():
= formule du tableau (A2: A + B2: B + C2: C)
Quand il y a beaucoup de colonnes, ou si le tableau à additionner ligne par ligne n'est pas une plage mais une autre expression de tableau, utilisez mmult ():
= matrice de formule (mmult (A2: C; transposée (signe (colonne (A2: C))))))
Voir la feuille illustrative préparée par Top Contributor APL + pour plus d'informations sur l'utilisation de mmult ().
Certaines autres fonctions d'agrégation qui ne sont pas propices à une utilisation dans une formule matricielle sont répertoriées ci-dessous avec des exemples de solutions permettant de générer des résultats ligne par ligne.
et () - utilisez l'arithmétique booléenne: = arrayformula (if ((A2: A = "OK") * * (B2: B> 10); "Prêt"; ""))
ou () - utilisez l'arithmétique booléenne: = arrayformula (if ((A2: A = "Oui") + + A2 (A: "peut-être"); "positif"; ""))
moyenne () - addition et utilisation: = formule de tableau ((A2: A + B2: B + C2: C)/3)
count () - utilise isnumber () et addition: = arrayformula (isnumber (A2: A) + isnumber (B2: B) + isnumber (C2: C))
counta () - n'utilise pas (isblank ()) et addition: = arrayformula (not (isblank (A2: A)) + non (isblank (B2: B)) + non (isblank (C2: C)))
concatenate () - utilise l'opérateur &:: = arrayformula (A2: A & B2: B & C2: C)
join () - utilise l'opérateur &:: array array (A2: A & "," & B2: B & "," & C2: C)
max () - utilise if (): = arrayformula (if (A2: A> B2: B; A2: A; B2: B))
min () - utilise if (): = arrayformula (if (A2: A <B2: B; A2: A; B2: B))
product () - utilise l'opérateur *: = arrayformula (A2: A * B2: B * C2: C)