trucos sheets secuencia hojas hoja google funcion ejemplos dato cómo comandos calculo buscar google-spreadsheet formula

google-spreadsheet - hojas - secuencia de comandos google sheets



¿Cómo extraer URL del enlace en Hojas de cálculo de Google utilizando una fórmula? (3)

Encontré una respuesta que funciona en Grupos de Google (por Troy):

  1. Publique su hoja de cálculo (copie la url)
  2. Crea una nueva hoja de cálculo y utiliza la función IMPORTXML (reemplaza la url con la url que obtienes en el paso 1)
  3. Obtendrá los datos; a continuación, puede copiar y pegar los valores donde los necesite.
  4. Anula la publicación de la hoja de cálculo (si no quieres que sea pública)

Podría ser hecho por Script, pero no tengo tiempo ahora. :)

He copiado de un sitio web una serie de hipervínculos y los he pegado en una hoja de google. Los valores aparecen como texto vinculado, no como hipervínculos, y aún están vinculados correctamente. Para cada fila, intento extraer la URL SOLAMENTE (no el texto amigable) e insertarla en la columna adyacente. ¿Cómo podría lograrse esto usando una fórmula?

Por ejemplo:

=SOMEFUNCTION(cellThatHoldsLink, returnedURLOnly)

Este y otros escenarios similares no se aplican porque los datos pegados no son fórmulas. Aceptaré una solución de script (GAS) o cualquier solución para ese asunto, pero preferiría si pudiera hacerse usando una fórmula. He encontrado docenas de scripts de manipulación HYPERLINK, pero nada en este escenario en particular, ni siquiera cómo acceder a la propiedad que contiene esa url. Gracias.


Puede usar importxml para obtener toda la tabla de datos y sus contenidos con esto:

=IMPORTXML(A1,"//tr")

junto a él, hemos sacado las cadenas de URL en las etiquetas

=IMPORTXML(A1,"//tr/td[1]/a/@href")

y finalmente concatenado las cadenas con el dominio original para crear sus hipervínculos

=ARRAYFORMULA("http://www.bnilouisiana.com/"&INDIRECT("A2:A"&COUNTA(A2:A)))


Si está contento de utilizar Google Apps Script, utilice la función siguiente para obtener el hipervínculo de un texto. Cuando pase la celda, debe enviar con comillas dobles. Por ejemplo: =GETURL("A4") para obtener el hipervínculo A4.

function GETURL(input) { var range = SpreadsheetApp.getActiveSheet().getRange(input); var url = /"(.*?)"/.exec(range.getFormulaR1C1())[1]; return url; }

Consulte aquí por ejemplo.

Editar: Ignora esta respuesta. Esto solo funcionará si url está vinculado en la celda.