Obtenir la plage de cellules pour un argument de fonction à partir du texte d'une autre cellule dans libreoffice-calc

1

Considérons une fonction libreoffice-calc appelée MYFUNCqui prend une plage de cellules, par exemple, A2:B40comme argument, pour que je puisse appeler MYFUNC(A2:B40).

Maintenant, je veux pouvoir écrire du A2:B40texte dans une autre cellule, par exemple, D4et donner la plage de cellules définie D4comme argument à MYFUNC. C'est-à-dire que je veux être capable d'écrire quelque chose comme ça MYFUNC(GETCELLRANGEFROM(D4)qui devrait être équivalent à MYFUNC(A2:B40).

étudiant
la source

Réponses:

1

Remplacer GETCELLRANGEFROM(D4)par INDIRECT(D4)devrait faire ce que vous voulez réaliser (étant donné que D4 contient la chaîne A2:B40). La fonction INDIRECT "traduit" une chaîne en une référence.

Voici un court exemple comment cela fonctionne:

entrez la description de l'image ici

  • A1 à A9 détient quelques chiffres,
  • B1 a une stringvaleur représentant une référence à la colonne A;
  • C1 a la formule =SUM(INDIRECT(B1))

Donc, C1 calcule une somme en fonction de la chaîne de référence dans B1. Modifier B1 pour A1:A7changer C1 également (ce qui donne 28). De cette façon, INDIRECT "traduit" une chaîne en une référence pouvant être utilisée dans une autre formule (environnante).

tohuwawohu
la source