Supongamos que tengo un hipervínculo en la celda A1: =hyperlink("stackexchange.com", "Stack Exchange")
En otra parte de la hoja, me gustaría tener fórmulas que obtengan el texto del enlace y la URL de A1, por separado. Encontré una manera de obtener solo el texto del enlace:
=""&A1
(concatenación con cadena vacía). Esto devuelve "Intercambio de pila", sin vincular.
¿Cómo obtener la URL (stackexchange.com)?
=hyperlink()
(algo que se pegó en una hoja), lo siento: no hay una. Para empezar, es mejor no pegar texto enriquecido en hojas de cálculo.Respuestas:
Después de ver la respuesta de Rubén, decidí escribir una función personalizada diferente para esta tarea, con las siguientes características:
=linkURL(C2)
lugar de=linkURL("C2")
. Esto es coherente con el funcionamiento habitual de los parámetros y hace que las referencias sean más sólidas: se mantendrán si alguien agrega una nueva fila en la parte superior.=linkURL(B2:D5)
devuelve las URL de todos loshyperlink
comandos encontrados en este rango (y celdas en blanco para otros lugares).Para lograr 1, no utilizo el argumento pasado por la hoja (que sería el contenido de texto de la celda objetivo), sino que analizo la fórmula en
=linkURL(...)
sí y extraigo la notación de rango desde allí.fuente
linkURL()
resultado. Por ejemplo=HYPERLINK(linkURL(C2),"new label")
, no parece funcionar para mí.=hyperlink(D2, "new label")
que D2 tiene la fórmula linkURL. Alternativamente, use la función personalizada de Rubén.Respuesta corta
Use una función personalizada para obtener la cadena entre comillas dentro de una fórmula de celda.
Código
La publicación externa compartida en el comentario de Yisroel Tech incluye un script que reemplaza cada fórmula en el rango activo por la primera cadena citada en la fórmula correspondiente. La siguiente es una adaptación como función personalizada de ese script.
fuente
Asumiendo que la célula tiene la función de hipervínculo;
Simplemente busque y reemplace
=hyperlink
a "hipervínculo" o "xyz"Luego solo tiene que hacer una limpieza de datos para separarlos. Intente usar el texto dividido en columnas o la
=split
función. Ambos lo usarían,
como delimitador.Nuevamente reemplace las
"
[comillas dobles] con [nada]Parece mucho más simple de esta manera ...
fuente