Modifier la formule en utilisant indirect pour travailler avec le remplissage automatique?

1

Voici les premières lignes:

=INDEX(INDIRECT("'"&I$2&"'!G:G"),MATCH(INDIRECT("'"&I$2&"'!C12"),INDIRECT("'"&I$2&"'!C:C"),"0"))
=INDEX(INDIRECT("'"&I$2&"'!G:G"),MATCH(INDIRECT("'"&I$2&"'!C13"),INDIRECT("'"&I$2&"'!C:C"),"0"))
=INDEX(INDIRECT("'"&I$2&"'!G:G"),MATCH(INDIRECT("'"&I$2&"'!C14"),INDIRECT("'"&I$2&"'!C:C"),"0"))
=INDEX(INDIRECT("'"&I$2&"'!G:G"),MATCH(INDIRECT("'"&I$2&"'!C15"),INDIRECT("'"&I$2&"'!C:C"),"0"))

Si j'essaie de remplir automatiquement (~ 50 lignes), il répète simplement C12, C13, C14, C15, C12, C13, etc., etc.

J'ai besoin de INDIRECT référencer un nom de feuille par une valeur de cellule.

Je ne veux pas vraiment changer tous les 50+ de ceux-ci. Comment puis-je réécrire cette formule pour respecter le remplissage automatique?

Scott Beeson
la source
Il suffit de faire glisser la première ligne seule vers le bas
@SuperSam le problème est qu'en utilisant l'INDIRECT et le C12 entre guillemets, il ne changera pas s'il est déplacé vers le bas.
Scott Craner
Si vous avez besoin de la valeur en C12 et pas seulement de C12, vous pouvez supprimer les guillemets. Pour toutes les références, vous pouvez supprimer les guillemets. Les guillemets ne doivent pas utiliser les valeurs ni les références. G: G "), MATCH (INDIRECT (" '"& I $ 2 &"'! "& C12), INDIRECT (" '"" et I $ 2 & "'! C: C"), "0 "))
Suivez ceci lien pour plus d'informations sur Indirect et citations
@SuperSam maintenant, INDIRECT regarde la valeur dans C12 de la feuille active pour une autre chaîne pour la référence de cellule. À l'intérieur de C12, vous aurez besoin d'une chaîne d'une adresse de cellule pour indiquer à INDIRECT où aller. Par exemple si je mets B12 en A1 et mis INDIRECT(A1) en A2, il renverrait la valeur de B12 et non de A1. Indirect prend une chaîne et la transforme en une référence. Dans la formule ci-dessus, la chaîne serait la valeur dans I2 et la valeur dans C12 combinées pour former une chaîne qui doit être une référence.
Scott Craner

Réponses:

2

Essayez ceci dans la première cellule et recopiez-le:

=INDEX(INDIRECT("'"&I$2&"'!G:G"),MATCH(INDIRECT("'"&I$2&"'!C" & ROW(1:1)+11),INDIRECT("'"&I$2&"'!C:C"),"0"))

Il va maintenant augmenter d'une ligne chaque fois qu'il est copié.

Scott Craner
la source
Génial, fonctionne parfaitement. Je vous remercie!
Scott Beeson