Supposons que j'ai un lien hypertexte dans la cellule A1: =hyperlink("stackexchange.com", "Stack Exchange")
Ailleurs dans la feuille, j'aimerais avoir des formules qui obtiennent le texte du lien et l'URL de A1, séparément. J'ai trouvé un moyen d'obtenir uniquement le texte du lien:
=""&A1
(concaténation avec une chaîne vide). Cela renvoie "Stack Exchange", sans lien.
Comment obtenir l'URL (stackexchange.com)?
=hyperlink()
(quelque chose qui a été collé dans une feuille), alors désolé: il n'y en a pas. Il est préférable de ne pas coller de texte riche dans des feuilles de calcul pour commencer.Réponses:
Après avoir vu la réponse de Rubén, j'ai décidé d'écrire une fonction personnalisée différente pour cette tâche, avec les fonctionnalités suivantes:
=linkURL(C2)
au lieu de=linkURL("C2")
. Cela est cohérent avec la façon dont les paramètres fonctionnent généralement et rend les références plus robustes: elles seront conservées si quelqu'un ajoute une nouvelle ligne au-dessus.=linkURL(B2:D5)
renvoie les URL de toutes leshyperlink
commandes trouvées dans cette plage (et les cellules vides pour les autres emplacements).Pour atteindre 1, je n'utilise pas l'argument passé par la feuille (qui serait le contenu textuel de la cellule cible), mais plutôt l'analyse de la formule
=linkURL(...)
elle-même et l'extraction de la notation de plage à partir de là.la source
linkURL()
résultat. par exemple=HYPERLINK(linkURL(C2),"new label")
ne semble pas fonctionner pour moi.=hyperlink(D2, "new label")
où D2 a la formule linkURL. Vous pouvez également utiliser la fonction personnalisée de Rubén.Réponse courte
Utilisez une fonction personnalisée pour obtenir la chaîne entre guillemets dans une formule de cellule.
Code
Le post externe partagé dans le commentaire par Yisroel Tech comprend un script qui remplace chaque formule de la plage active par la première chaîne citée dans la formule correspondante. Ce qui suit est une adaptation en tant que fonction personnalisée de ce script.
la source
En supposant que la cellule a la fonction hyperlien;
Trouvez et remplacez simplement
=hyperlink
par "hyperlien" ou "xyz"Il vous suffit ensuite de nettoyer les données pour les séparer. Essayez d'utiliser le texte divisé en colonnes ou en
=split
fonction. Les deux utiliseraient,
comme délimiteur.Remplacez à nouveau les
"
[guillemets doubles] par [rien]Semble beaucoup plus simple de cette façon ..
la source