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).

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).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.