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