Considérons une fonction libreoffice-calc appelée MYFUNC
qui prend une plage de cellules par exemple A2:B40
comme argument, donc je peux appeler MYFUNC(A2:B40)
.
Maintenant, je veux pouvoir écrire A2:B40
comme texte dans une autre cellule, dis D4
et donne la plage de cellules définie dans D4
comme argument à MYFUNC
. C'est-à-dire que je peux écrire quelque chose comme MYFUNC(GETCELLRANGEFROM(D4)
qui devrait être équivalent à MYFUNC(A2:B40)
.
Remplacer GETCELLRANGEFROM(D4)
par INDIRECT(D4)
devrait faire ce que vous voulez atteindre (étant donné que D4 contient la chaîne A2:B40
). La fonction INDIRECT "traduit" une chaîne en une référence.
Voici un petit exemple de la façon dont cela fonctionne:
string
, représentant une référence à la colonne A; =SUM(INDIRECT(B1))
Ainsi, C1 calcule une somme, en fonction de la chaîne de référence dans B1. Modification de B1 à A1:A7
changera également C1 (résultant en 28). De cette façon, INDIRECT "traduit" une chaîne à une référence qui peut être utilisée dans une autre formule (autour).