J'ai besoin d'une formule Excel qui calcule la somme de toutes les cellules de colonne d'un niveau fixe jusqu'à la dernière cellule de la colonne. Comme: somme de S5 à la dernière cellule S. Il y a une cellule avec le nombre de lignes. Puis-je utiliser une variable dans la formule comme:
J'ai essayé: somme (S5: s) code> mais ne fonctionne pas. p>
somme (S5: S & A1) code> avec A1 contenant le nombre de lignes? P>
3 Réponses :
Vous pouvez essayer = somme (décalage (S5,0,0, lignes (s: s) -row (S5) +1)) code> p> p>
THX, mais ne fonctionne pas: / lignes (s: s) -row (S5) code> ne renvoie pas le nombre de lignes ...
L'expression lignes (s: s) -row (S5) +1 code> retournera le nombre de lignes de la cellule S5 à la dernière cellule de la colonne S (qui est ce que vous avez demandé à l'origine lorsque vous avez posté le fichier. question). Si vous souhaitez un nombre différent de lignes, remplacez simplement cette expression avec le numéro souhaité. Par exemple, si le numéro que vous voulez est dans la cellule A1, vous pouvez utiliser la formule
= somme (décalage (S5,0,0, A1)) code>.
Thx Ça marche PS: devrait remplacer la virgule par Semicolon = somme (décalage (S5; 0; 0; 0; A1)) code>
Que ce soit une virgule ou un point-virgule dépend de ce qui est spécifié comme le «séparateur de liste» par vos paramètres régionaux sous Windows (en supposant que vous utilisiez Windows). Le mien est une virgule. Le vôtre doit être un point-virgule. Désolé si la différence a conduit à la confusion.
Pour résumer toutes les cellules d'A2 à la fin de la colonne A, vous pouvez utiliser
=SUM(A2,INDIRECT("A2:A" & ROWS(A:A)))
tl; dr strong>: je vous recommande d'utiliser Je cherchais juste aujourd'hui une solution pour cela, et j'ai proposé quelque chose basé sur aller à la cellule B1 et entrez Il y a deux parties à ceci: une avant le côlon, une autre après le côlon. Le résultat final que vous recherchez est A1: A10, correct? P>
li>
la pièce avant que le côlon utilise une référence fixe à la lettre de colonne, La partie après que le côlon est similaire mais que nous essayons maintenant d'obtenir le numéro de ligne du dernier élément de la matrice que nous traitons. Nous faisons cela en utilisant la fonction génial, vous devriez voir une copie du tableau d'entrée sur la colonne B. Pour tester, multipliez le tableau par 2. Allez à Cell C1 et entrez Cette solution nécessite une matrice nommée. Pour ce faire, sélectionnez Colonne A. La zone Nom (coin supérieur droit, proche des cellules, sous le ruban) montrera probablement A1. Cliquez là-bas et donnez un nom à la plage. Par exemple, Allez maintenant à la cellule D1 et entrez Enfin, allez à la cellule E1 et entrez OK La première chose, les opérations dynamiques doivent bien se comporter lorsque des éléments sont ajoutés ou supprimés au tableau d'entrée. Allez à la cellule A1 et modifiez le paramètre Le test final: ajoutez une colonne avant A. Voyez ce qui se passe sur ce qui arrive maintenant des colonnes C et D. P>
li>
ul>
Yep, la solution basée sur Plus d'informations sur les gammes nommées peuvent être trouvées ICI . P> Namedrange code> s et
= index (naméRange, ligne ()): index (Namedrange) (NameDrange)) < / code>. Cela se comporte bien lorsque les données d'entrée changent (taille et valeur)
xlookup () code>. P>.
index () code> et nommé gammes, que je pense que cela fonctionne mieux que
indirect () < / code>. L'exercice est-ce: p>
= séquence (10) code>. Cela créera un tableau A1: A10 avec des nombres de 1 à 10. Li>
ul>
indirect () code> p>
= indirect ("A" et ligne ()): indirect ("A" et comptage (A: A)) p>. P>.
li>
"a" code> et la fonction
ligne () code> fonction pour obtenir le numéro de la Rangée actuelle - juste pour que cette solution fonctionne si vos données ne démarrent pas sur la première ligne (juste un détail, vraiment). Le bit
& code>, au cas où vous ne le connaissez pas, est utilisé pour concaténer des chaînes. À la fin, vous construisez la chaîne "A1" à partir de la lettre fixe
"A" code> et quel que soit le numéro de
ligne () code>. P>.
li>
pasta () code> qui passe le tableau
A: A code> comme entrée. P>
li>
= indirect ("A" et ligne () ): Indirect ("A" & Counta (A: A)) * 2 Code>. Maintenant, vous devriez voir que le tableau d'entrée a doublé. P>
li>
ul>
index () code> p>
numéros code>. P>
li>
= index (numéros, 1): index (numéros, notes (numéros)) code>. Vous obtiendrez encore une autre copie du tableau d'entrée. P>
li>
= index (numéros, 1): index (numéros, comptes (numéros)) * 2 code>. Encore un autre tableau doublé. P>
li>
ul>
Séquence () Code> sur 5. Puis sur 20. Tous les autres tableaux des colonnes B à E doivent être redimensionnés automatiquement, ce qui montre les deux solutions fonctionnent. P>
li>
indirecte code> ne se comporte pas bien si nous modifions la structure de la feuille de calcul. Il pourrait y avoir des moyens de résoudre ce problème que je n'ai pas encore exploré, mais pour l'instant, je vais rester à
index code> et nommé gammes - qui, à la manière, semblent être une option plus propre et plus facile à maintenir. également. Si quelqu'un suggère un moyen de "corriger" la solution basée sur
indirect () code> je peux éditer ceci. P>
Je voulais juste souligner que cela fonctionne également si vous supprimez la plage nommée, que ce soit la colonne ou uniquement le nom, et que vous l'ajoutez, que ce soit au même endroit ou sur une colonne différente - même sur une feuille différente!