Ir al contenido principal

Usar funciones de HCG para obtener datos de fuentes externas

Las Hojas de Cálculo de Google (HCG) tienen algunas funciones para obtener datos de fuentes externas que que no están disponible en otras hojas de cálculo como Microsoft Excel, OpenOffice, entre otras. Se trata de las funciones IMPORTalgo:

  • IMPORTDATA
  • IMPORTFEED
  • IMPORTHTML
  • IMPORTRANGE
  • IMPORTXML
Estas funciones tienen en común que mediante una dirección de Internet, técnicamente conocida como URL por sus siglas en inglés que son Universal Resource Locator, pueden acceder datos. Con excepción de IMPORTRANGE uno de los requisitos es que los datos estén accesibles de forma pública, es decir, que no requieran inicio de sesión ni que limiten el acceso a los servidores de Google.

IMPORTRANGE

Este es un caso particular ya que a diferencia de las otras funciones IMPORTalgo es usada para obtener datos de otra HCG. Es posible que en lugar de colocar el URL complemento indicar sólo el key o id de la hoja de cálculo de interés. Para usar esta función el usuario deberá autorizar el acceder los datos de la HCG externa y esto implica que el usuario deberá tener acceso a la HCG de origen.

Es común encontrar consultas en los foros en las que recomendación es primero escribirla en la forma =IMPORTRANGE(key,referencia) es decir, evitar poner IMPORTRANGE dentro de cualquier otra función como podrían ser QUERY, FILTER, VLOOKUP, COUNT, etc. para que se muestre el botón de autorización. Una vez que se autorice el acceso a la HCG en cuestión podrá incluirse dentro de otras funciones.

IMPORTHTML 

Esta función puede usarse para acceder listas y tablas de páginas web estáticas. Implica conocer la estructura de la página y que dicha página tenga bien formada las etiquetas de listas o tablas, según sea el elemento que nos interese.

IMPORTFEED

En el caso de IMPORTFEED puede usarse para acceder fuentes de contenido a los que uno se puede suscribir en formato ATOM o RSS, como los usados por los blogs.

IMPORTDATA

De acuerdo a su propósito original IMPORTDATA puede acceder archivos CSV o TSV pero puede usarse para tomar los datos de cualquier archivo que provea texto considerando que automáticamente distribuirá el contenido en columnas y renglones usando comas o tabuladores. 

IMPORTXML 

De acuerdo a su propósito original IMPORTXML puede usarse para tomar contenido de archivos XML. Como algunas páginas web cumplen con las reglas de XML en Internet hay muchos publicaciones que sugieren su uso para obtener datos de páginas web los cual es bueno, sin embargo, muchas de esta publicaciones omiten, por la razón que sea, el mencionar los requisitos para que funciones IMPORTXML lo que resulta se causa de muchas consultas acerca de cómo usar esta función para obtener datos de sitios web que no son compatibles.

Alternativas

Cuando los datos no es posible accederlos con las funciones anteriores podemos recurrir al servicio URL Fetch de Google Apps Script ya sea para usarlo en funciones personalizadas, macros o proyectos más elaborados.

Otras alternativas son el uso de complementos como "Data Conector for Salesforce" (sólo disponible en inglés) anunciado por Google recientemente.

Otra forma es usar servicios como Google Data Studio el cual pueden enviar datos a las HCG (cambia el sentido, en lugar de tomar/jalar/importar es enviar/empujar/exportar).

Colofón

Las funciones IMPORTalgo son muy prácticas para obtener datos de disponibles a través de un URL con excepción de las HCG, los datos deben estar accesibles de forma pública y contar con una estructura compatible con alguna de las funciones disponibles.

En siguientes artículos hablaré con más detalle de estas funciones y de las alternativas para obtener datos de fuentes externas.

Entradas más populares de este blog

Marca temporal (timestamp) en Hojas de Cálculo de Google

NOTA: Esto fue publicado originalmente aquí . Una de las preguntas más recurrentes (PP.FF. / FAQ) es acerca de cómo insertar una marca temporal (timestamp). En ocasiones, en la pregunta se menciona la función AHORA(), en inglés NOW() . Pero esta se actualiza cada vez que se recalcula la hoja de cálculo por lo que no es útil como indicador de cuando se realizó alguna acción. En su lugar hay varias alternativas Alternativas: 1) Usar una combinación de teclas. Lamentablemente este no funciona en todos los equipos debido a los diferentes tipos de teclados. 2) Usar Google Apps Script. Sobre las anteriores opciones hay varios hilos en el foro de Google Drive y los editores de documentos de Google .  Algunos de los que he encontrado buscando "timestamp": Imprimir hora automáticamente - Foros de productos de Google Para que formula con Now, se ejecute solo una vez. - Foros de productos de Google Almacenamiento de fecha en una celda sin recalculo o dependenc

Cómo obtener el key o id de una HCG

A diferencia de otras plataformas Google Drive y los editores de documentos de Google, en lugar de usar rutas y nombres de archivo, utilizan identificadores únicos comúnmente referidos como id o key . Por ejemplo, la función IMPORTRANGE puede usar el URL o el key de una Hoja de Cálculo de Google (HCG) como primer parámetro. Por ser más corto, resulta más conveniente usar key / id   en lugar del URL. Otro caso de uso en el que se ocupa el  key / id   es al incluir en una secuencia de comandos el método SpreadsheetApp.openById(id) de Google Apps Script. La forma más directa de obtener el id de una HCG es abrirla en el navegador de escritorio y tomarlo directamente de la barra de direcciones. La dirección mostrada en la imagen superior es la siguiente: https://docs.google.com/spreadsheets/d/1ZxHlZjiqjdWoZrPIEFLX2niRkOfVBCWC0I2uzGsek_o/edit#gid=319387801 En la imagen superior, el key corresponde al texto resaltado, nótese que se encuentra entre /d/ y /edit, el cual es el

¿Qué es __xludf.DUMMYFUNCTION?

Resumen __xludf.DUMMYFUNCTION es una función de las Hojas de Cálculo de Google agregada al descargar una hoja de cálculo en formato Microsoft Excel (.xlsx) a las fórmulas que utilizan funciones no compatibles. He descargado mi hoja de cálculo y veo __xludf.DUMMYFUNCTION ¿Qué es? ¿Por qué Google modificó mis fórmulas? Si usas funciones de Hojas de Cálculo de Google (HCG) que no son compatibles con Microsoft Excel (Excel) como IMPORTRANGE y descargas una hoja de cálculo como Microsoft Excel (.xlsx) podrías haber visto que las fórmulas originales fueron modificadas para incluir  =IFERROR(__xludf.DUMMYFUNCTION(tu_formula),"valor") (funciones en inglés) =SI.ERROR(__xludf.DUMMYFUNCTION(tu_formula),"valor") (funciones en español) o bien =IFERROR(__xludf.DUMMYFUNCTION("""COMPUTED_VALUE"""),"valor") (funciones en inglés) =SI.ERROR(__xludf.DUMMYFUNCTION("""COMPUTED_VALUE"""),"v