Est-il possible de définir une plage basée sur une valeur donnée dans une cellule.
Ainsi, par exemple: Ma sélection est A1: A5 Ce sont cinq cellules. Est-il possible de laisser Excel le déterminer en définissant une valeur de cellule (telle que B1) sur 5.
Dans le but de facilement changer beaucoup de plages avec un changement dans une valeur de cellule. Donc, si je voudrais changer la valeur de la cellule (B1) à 6. La plage passera automatiquement à A1: A6
Encore plus spécifique, je voudrais le faire inversé.
Dernier exemple: la sélection doit être A6: A10 (il s’agit des cinq cellules). Dans B1, j'ai la valeur 5. Si je modifie la valeur de B1 en 6. La plage devrait passer à A5: A10
Quelqu'un pourrait-il m'aider ???
Supposons que vous avez le numéro 1,2,3,4,5,6 dans les cellules A1, A2, A3, A4, A5 et A6, respectivement. dans la cellule A7, nous calculons la somme de A1: Ax. x est spécifié dans la cellule B1 (dans ce cas, x peut être un nombre quelconque compris entre 1 et 6). dans la cellule A7, vous pouvez écrire le formulaire suivant:
=SUM(A1:INDIRECT(CONCATENATE("A",B1)))
CONCATENATE vous donnera l'indice de la cellule Ax (si vous mettez 3 en B1, CONCATENATE ("A", B1)) donne A3).
INDIRECT convertir "A3" en index.
voir ce lien tiliser la valeur dans une cellule comme référence de cellule dans une formule?
Vous pouvez également utiliser OFFSET:
OFFSET($A$10,-$B$1+1,0,$B$1)
Il déplace la plage de 10 $ A de 1 B $ à 1 $ (devient 6 $ US (5 $ A)), puis redimensionne la plage à 1 $ B de rangées (devient 6 $ A: 6 $: 10 $ A (5 $ A: A $ 10))
Voici une option. Il fonctionne en créant une INDIRECT(ADDRESS(...))
à partir de ROW
et de COLUMN
de la cellule de départ, A1
, jusqu'à la ligne initiale + le nombre de lignes conservées dans B1
.
SUM(INDIRECT(ADDRESS(ROW(A1),COLUMN(A1))):INDIRECT(ADDRESS(ROW(A1)+B1,COLUMN(A1))))
A1
: est le début des données dans la colonne "A"
B1
: est le nombre de lignes à additionner
Basé sur la réponse de @Cici, je donne ici une solution plus générique:
= SOMME (INDIRECT (CONCATENATE (B1, C1)): INDIRECT (CONCATENATE (B2, C2)))
En version italienne d'Excel:
= SOMMA (INDIRETTO (CONCATENA (B1; C1)): INDIRETTO (CONCATENA (B2; C2)))
Où les cellules B1-C2 contiennent ces valeurs:
Vous pouvez modifier ces valeurs pour modifier la plage finale à votre guise.
Fractionnement de la formule en parties:
Par conséquent:
= SOMME (INDIRECT (CONCATENATE (B1, C1)): INDIRECT (CONCATENATE (B2, C2)))
résulte en
= SOMME (A1: A5)
Je vais écrire ici quelques mots-clés de référencement pour les utilisateurs italiens:
Cliquez sur la formule pour obtenir plus de détails sur chaque cas de la catégorie B1 à C2 sur le serveur Dell.
Cela devrait être proche de ce que vous cherchez pour votre premier exemple:
=SUM(INDIRECT("A1:A"&B1,TRUE))
Cela devrait être proche de ce que vous recherchez pour votre dernier exemple:
=SUM(INDIRECT("A"&1+B1&":A"&B1,TRUE))