J'ai 2 feuilles de calcul: Summary
et SERVER-ONE
.
En cellule A5
sur la fiche de synthèse, j'ai ajouté la valeur SERVER-ONE
.
A côté, dans la cellule B5
, Je voudrais une formule qui utilise la valeur dans A5
pour afficher la valeur de G7
dans la feuille de calcul du même nom (SERVER-ONE
).
Je pourrais utiliser manuellement:
='SERVER-ONE'!G7
Cependant, j'aimerais que ce soit dynamique, afin que je puisse facilement ajouter plus de feuilles de calcul.
J'ai essayé l'évidence sans joie:
='A5'!G7
Aucune suggestion?
Vous pouvez utiliser la formule INDIRECT()
.
Cela prend essentiellement une chaîne et la traite comme une référence. Dans votre cas, vous utiliseriez:
=INDIRECT("'"&A5&"'!G7")
Les guillemets doubles doivent montrer que ce qui est à l’intérieur sont des chaînes, et seulement A5
voici une référence.
Vous avez besoin de la fonction INDIRECT
:
=INDIRECT("'"&A5&"'!G7")
je ne sais pas si vous avez résolu votre question, mais j’ai trouvé que cela fonctionnait pour incrémenter le nombre de lignes lors du glissement.
= INDIRECT("'"&$A$5&"'!$G"&7+B1)
Où B1 désigne un numéro d'index, commençant à 0.
Ainsi, si vous copiez-déplacez la cellule d'index et la cellule contenant la formule indirecte, vous augmenterez la valeur indirecte. Vous pourriez également créer un compteur plus élégant avec la fonction Index.
J'espère que cela t'aides.
Voici une solution utilisant INDIRECT, qui, si vous faites glisser la formule, sélectionnera différentes cellules de la feuille cible en conséquence. Il utilise la notation R1C1 et ne se limite pas à travailler uniquement sur les colonnes A à Z.
=INDIRECT("'"&$A$5&"'!R"&ROW()&"C"&COLUMN(),FALSE)
Cette version prend la valeur de la cellule cible correspondant à la cellule où la formule est placée. Par exemple, si vous placez la formule dans "Résumé"! B5, elle récupérera la valeur de "SERVEUR-ONE"! B5 et non de "SERVEUR-ONE"! G7 comme spécifié dans la question d'origine. Mais vous pouvez facilement ajouter des décalages à la ligne et à la colonne pour obtenir le mappage souhaité dans tous les cas.
En utilisant la fonction ROW()
, je peux faire glisser cette formule verticalement. Il peut également être déplacé horizontalement puisqu'il n'y a pas de $
avant le D
.
= INDIRECT("'"&D$2&"'!$B"&ROW())
Ma mise en page comporte des noms de feuille dans les en-têtes de colonne (B2
, C2
, D2
, etc.) et mappe plusieurs valeurs de ligne de la colonne B
de chaque feuille.
INDIRECT est la fonction que vous souhaitez utiliser. Ainsi:
=INDIRECT("'"&A5&"'!G7")
Avec INDIRECT, vous pouvez construire votre formule sous forme de chaîne de texte.
Guess @ user3010492 l'a testé mais je l'ai utilisé avec une cellule fixe A5 -> $ A 5 et un élément fixe du G7 -> $ G7
=INDIRECT("'"&$A$5&"'!$G7")
Fonctionne également bien dans une autre formule si vous la mettez entre parenthèses.
Cela ne fonctionnera que sur la colonne Z, mais vous pouvez le faire glisser horizontalement et verticalement.
=INDIRECT("'"&$D$2&"'!"&CHAR((COLUMN()+64))&ROW())