Je me demandais s'il y avait de toute façon à retourner le nom de la table en utilisant une formule? Je travaillais sur un moyen de décomposer quelques milliers d'adresses dans une colonne d'informations en perspective. c'est-à-dire .. #, rue, ville, état, code postal et numéro de téléphone. Les adresses ne sont pas dans un format cohérent que Text to Columns fonctionnerait. J'ai finalement trouvé les formules pour faire le travail, mais elles sont très longues. Dans un article, j'ai trouvé qu'il était suggéré d'utiliser des parties répétées des formules comme nom défini. Et ça l'a rendu beaucoup plus facile. Maintenant, voici le problème.Excel Retour Nom de la table en utilisant Formula?
Une formule qui a le nom de table "Table1" ne fonctionnera pas dans "Table2". Ou tout autre nom de table. Les en-têtes de colonne sont les mêmes pour chaque table.
MAX(SEARCH(Table1[@State],Table1[@Origin]))
Une façon de renvoyer le nom de la table est nécessaire. Via une formule ou une formule en tant que nom défini.
MAX(SEARCH(GetTableName[@State],GetTableName[@Origin]))
Je préfère que ce soit une formule. Je ne suis pas sûr si une solution VBA serait une réponse correcte à cette question, donc je ne serais pas en mesure de le choisir comme la réponse, même si cela fonctionne. Ce sera encore apprécié. Je demanderai dans un post séparé si je ne trouve pas de solution de formule.
TY
Je trouve ce poste qui a une solution VBA, mais je ne peux pas l'utiliser. Je vais poster juste pour que quelqu'un puisse peut-être comprendre cela. Portland Runner Posté ce CODE pour obtenir le nom de la table.
Function GetTableName(shtName As String) As String
GetTableName = Worksheets(shtName).ListObjects(1).Name
End Function
Dans cette fonction, j'entrer mon nom défini par la formule nommée « SheetName »
=MID(CELL("filename"),FIND("]",CELL("filename"))+1,100)
donc je peux l'utiliser comme ceci.
=MAX(SEARCH(INDIRECT(GetTableName(SheetName)&"[@State]"),INDIRECT(GetTableName(SheetName)&"[@Origin]")))
Cependant, j'ai toujours besoin que ce soit uniquement en Formule. Bien que je puisse exécuter des macros sur mon PC, elles ne fonctionneront pas sur le PC qui contient toutes les données.
C'est la dernière chose que j'ai eu en utilisant un UDF. Malheureusement, je ne peux toujours pas l'utiliser. Plus Il obtient le nom de la première table et non la table réelle de la cellule. Bon si c'est la seule table dans la feuille ou si la première table est la table que vous voulez.
Function GetTableName() As String
GetTableName = Worksheets(ActiveSheet.Name).ListObjects(1).Name
End Function
posté cross-ici: http://superuser.com/questions/1064308/return-table-name-using-formula - S'il vous plaît ne pas poster le même question sur plus d'un site. – teylyn
Encore VBA serait une solution facile. Vous pouvez créer un UDF avec des entrées comme '= MyFunction (TableName, Field, someOtherValuesYouWant, ....)'. De cette façon, vous obtenez de simples formules "copier/coller" avec lesquelles vous pouvez travailler;) –
@DirkReichel Oui, je suis sûr que VBA est une option meilleure et plus simple, mais l'ordinateur sur lequel l'information est ne m'appartient pas Les macros sont désactivées en raison de la stratégie de l'entreprise. Extraire les données et le faire sur mon propre PC n'est pas une option en raison de problèmes de confidentialité. Cependant, si vous avez une solution VBA, je voudrais le voir. Mais dans ce cas, une formule est nécessaire. – Mouthpear