2017-08-11 1 views
0

Objectif: Tirer les données d'une autre feuille Excel, mais le nom de la feuille Excel est changé chaque annéeConcatenate semblent envelopper entre guillemets avant indirecte

Pensées: Excel semble envelopper le dessous entre guillemets. Bien que cela puisse être le problème, il n'est pas clair comment le résoudre.

=INDIRECT(CONCATENATE(B2,"FY",RIGHT(Financal_Year,2),"_Attendance","\","[FY",RIGHT(Financal_Year,2)," LOG.xlsx]JUN'!B19)")) 

Dans « Calcul Afficher étapes » Je peux voir que l'évaluation semble correcte avec l'attente des guillemets doubles placés où concaténer placer ses données.

Résultat:

=INDIRECT("'\\networkdrive\FY18_Attendance\[FY18_LOG.xlsx]JUN'!B19")  

La sortie Je cherche:

=INDIRECT('\\netwrokdrive\FY18_Attendance\[FY18 LOG.xlsx]JUN'!B19) 

De cette façon, il saisit les données dans ce bloc.

+0

'INDIRECT' ne peut pas faire référence au classeur externe avec concaténation de chemin de lecteur réseau au moins jusqu'à Excel 2007. Mais si vous pouvez couper le chemin externe vers le bas pour' = CONCATENER (» '[FY ", RIGHT (Financal_Year, 2)," LOG.xlsx] JUN'! B19 ")' avec ce tableur ouvert, vous pouvez obtenir votre résultat. Sinon, essayez la fonction 'EVALUATE' de ce post (en supposant que vous avez une version plus récente d'Excel): Voir cet article pour plus de détails: https://stackoverflow.com/questions/28461672/referencing-value-in-a-closed -excel-classeur-using-indirect. – ian0411

Répondre

0

Si c'était moi, je voudrais créer un raccourci vers le fichier de l'année en cours, puis lier mes références à travers ce raccourci. Ensuite, chaque année, vous n'avez qu'à mettre à jour ce que le lien "fy actuel" pointe vers et toutes les autres références se mettent en ligne.

I.e. Si vous voulez la cellule b19 de fy18, vous devez insérer ce qui suit dans une cellule.

= '\\ serveur \ chemin \ [courant FY-shortcut.lnk] sheet1'! B19

Et puis changer le raccourci courant fy pour pointer vers fy18-blahblah.xlsx

Il peut y avoir un moyen de construire la référence fy avec indirecte, mais il semble que tout un tas de travail pour pire récompense. Vous devez ouvrir le classeur référencé pour indirect pour le "voir" (à chaque fois). Avec la méthode ci-dessus, il suffit de changer un pointeur une fois par an.

Hope this helps,
SYSFS