Si quieres importar a Google Sheets datos online de un sitio web, IMPORTHTML es una fórmula de Google Sheets muy útil que conviene tener a mano. Importa datos de una tabla o lista de cualquier página web sin que tengas que copiar y pegar ni ajustar los datos con otras fórmulas.
Copiar y pegar datos tabulares de internet en una hoja de cálculo puede generar problemas de formato. Por eso, IMPORTHTML es una forma más sencilla de importar datos de sitios como Wikipedia directamente en tu hoja de cálculo manteniendo el diseño correcto. Además, esta fórmula garantiza que tus datos estén siempre actualizados. Google Sheets actualiza la fórmula por sí solo, así que cuando cambia el sitio web, tu hoja se pone al día en aproximadamente una hora. Así se usa la fórmula.
Sintaxis de IMPORTHTML
IMPORTHTML(url, consulta, índice)
- url – es la dirección (localizador uniforme de recursos) de la página web que contiene la tabla o la lista que quieres importar. Puede tener dos formas.
- Una ubicación válida y totalmente cualificada en forma de texto (entre comillas dobles). Por ejemplo: "https://en.wikipedia.org/wiki/Demographics_of_the_world"
- O puede ser una referencia a una celda (como B1) dentro de Google Sheets, donde se almacena la URL.
- consulta – this will be either “list” or “table” depending upon the structure of the data. Use “table” for data inside an HTML table (the <table> tag). Use “list” for a bulleted or numbered list (the <ul> o <ol> tag).
- índice – el número de índice identifica la lista o la tabla dentro de la página web. Ten en cuenta que los índices de las listas y de las tablas se cuentan por separado. Una tabla y una lista pueden tener el mismo número de índice. El recuento empieza en 1, así que 1 es la primera tabla (o la primera lista) del HTML de la página.
IMPORTHTML devuelve la tabla o la lista empezando en la celda de la fórmula y ocupa las celdas de la derecha y de abajo, así que deja esa zona vacía. Por ejemplo, =IMPORTHTML(B1, "table", 2) importa la segunda tabla de la página cuya URL está en la celda B1.
Cómo importar datos de una página web a Google Sheets
Opción 1: IMPORTHTML(url, "table", índice)
Fíjate en la captura de pantalla de abajo. Quiero importar datos en la celda B3, así que ahí es donde escribo mi fórmula IMPORTHTML.
Asegúrate de que la URL es válida, es decir, pon la URL entre comillas dobles y pulsa Intro.
Mientras Google Sheets obtiene los datos de la tabla, muestra el aviso Cargando en la celda. Espera unos instantes. Cuanto más grande sea la tabla, más puede tardar en completarse la importación de datos.
Mientras la importación de datos está en curso, parece que la celda B3 ha devuelto un error. Fíjate en la pequeña marca roja de la esquina superior derecha de la celda. Sin embargo, no es un error, solo un estado transitorio. Pasa el ratón por encima de la celda para ver la siguiente descripción:
En cuanto Google Sheets termina de cargar los datos, la marca roja desaparece. Verás que los datos se extienden desde la celda de la fórmula (B3) hacia la derecha y hacia abajo en la hoja de cálculo.
Asegúrate de dejar suficiente espacio en la hoja de cálculo para toda la tabla de datos. Si no lo haces, la fórmula IMPORTHTML puede devolver un error #REF!. Fíjate en la siguiente imagen para ver qué pasa cuando tengo datos en la celda C9.
Opción 2: IMPORTHTML(referencia a la celda de la url, "list", índice)
En este ejemplo, he guardado la URL en la celda B1. Esta es la url de la página HTML que contiene la lista que queremos importar. Haré referencia a esa celda en la fórmula IMPORTHTML de Google Sheets, que escribo en la celda B3. El resultado es el mismo, salvo que esta vez quiero una lista en lugar de una tabla.
Cómo encontrar el índice de una tabla o lista
El índice cuenta las tablas y las listas en el orden en que aparecen en el HTML de la página. Las tablas y las listas se cuentan por separado, y el recuento empieza en 1. En una página corta, prueba con 1, 2, 3, etc., hasta que aparezcan los datos correctos.
En una página con muchas tablas o listas, usa la consola para desarrolladores del navegador para ver los números:
- Abre la página en Chrome. Pulsa Ctrl + Mayús + J en Windows, o Cmd + Opción + J en Mac, para abrir el panel Console.
- Para numerar las tablas, pega este código y pulsa Intro:
var i = 1; document.querySelectorAll("table").forEach(function (el) { console.log(i++, el); }); - Pasa el ratón por encima de cada resultado en el panel Console. Chrome resalta esa tabla en la página. El número que aparece al lado es el índice que debes usar en IMPORTHTML.
- Para las listas, ejecuta el mismo código con "ul, ol" en lugar de "table".
El panel Console muestra la página después de que se ejecuten sus scripts. Si una tabla aparece ahí pero IMPORTHTML no la encuentra, lo más probable es que la página la cree con JavaScript. Consulta la siguiente sección.
IMPORTHTML no funciona en Google Sheets
Cuando IMPORTHTML falla, la celda muestra un error. Haz clic en la celda y pasa el ratón por encima del triángulo rojo de la esquina para leer el mensaje. Estas son las causas habituales.
Error #N/A: no se ha podido obtener la URL
Son los servidores de Google los que obtienen la página, no tu navegador. Si la página requiere iniciar sesión, está en una red corporativa o bloquea a los visitantes automatizados, la obtención falla. Comprueba también la dirección. Debe empezar por http:// o https://, y puede que la página se haya movido desde que escribiste la fórmula. Para comprobarlo, abre la URL en una ventana de navegación privada. Si ahí tienes que iniciar sesión, IMPORTHTML tampoco puede leer la página.
La tabla se carga con JavaScript
IMPORTHTML lee el HTML que envía el servidor. No ejecuta los scripts de la página. Muchos sitios crean sus tablas con JavaScript después de que se cargue la página, así que la tabla que ves en el navegador no está en ese HTML, e IMPORTHTML devuelve un error que indica que el contenido importado está vacío. Para comprobarlo, haz clic con el botón derecho en la página, elige Ver código fuente de la página y busca un valor de la tabla. Si no está, busca en el sitio una descarga en CSV e importa ese archivo con IMPORTDATA en su lugar.
Datos incorrectos: el índice ha cambiado
Si la fórmula devuelve una tabla distinta de la que esperabas, el índice no es el correcto. Los sitios cambian su diseño, y una tabla nueva cerca de la parte superior de una página desplaza todos los números que vienen después. Vuelve a buscar el índice con los pasos anteriores. Un índice mayor que el número de tablas o listas de la página devuelve un error.
Error #REF!: el resultado sobrescribiría datos
IMPORTHTML necesita celdas vacías para todo el resultado. Si alguna celda de ese intervalo ya contiene un valor, obtienes #REF!, como se muestra en la opción 1 de arriba. Borra esas celdas o mueve la fórmula.
Los datos no se actualizan
Google Sheets vuelve a calcular IMPORTHTML por sí solo aproximadamente cada hora, así que la celda puede ir por detrás del sitio web. Para forzar una actualización, edita la fórmula y pulsa Intro.
Otras formas de importar datos a Google Sheets
IMPORTHTML solo lee tablas y listas. Google Sheets tiene otras funciones de importación para otras fuentes:
- IMPORTXML extrae cualquier parte de una página web o de un archivo XML con una consulta XPath.
- IMPORTRANGE extrae un intervalo de celdas de otro archivo de Google Sheets.
- IMPORTFEED importa un feed RSS o Atom.
¿Buscas más fórmulas y trucos para ahorrar tiempo en Google Sheets? Si a menudo necesitas importar datos de archivos .csv o .tsv de la web, consulta cómo usar la fórmula IMPORTDATA en Google Sheets.
Para combinar datos de muchas hojas de cálculo, archivos de Excel y otras fuentes, y mantenerlos actualizados según una programación, Sheetgo, una plataforma de automatización de datos con IA, los conecta sin fórmulas.



