Se você quer trazer para o Google Sheets dados online de um site, IMPORTHTML é uma fórmula do Google Sheets ótima para ter na manga. Ela importa dados de uma tabela ou lista de qualquer página web sem que você precise copiar e colar ou ajustar os dados com outras fórmulas.
Copiar e colar dados tabulares da internet em uma planilha pode gerar problemas de formatação. Por isso, a IMPORTHTML é uma forma mais fácil de importar dados de sites como a Wikipédia diretamente para a sua planilha, mantendo o layout correto. Além disso, essa fórmula garante que os seus dados estejam sempre atualizados. O Google Sheets atualiza a fórmula sozinho, então, quando o site muda, a sua planilha acompanha em cerca de uma hora. Veja como usar a fórmula.
Sintaxe da IMPORTHTML
IMPORTHTML(url, consulta, índice)
- url – é o endereço (localizador uniforme de recursos) da página web que contém a tabela ou a lista que você quer importar. Ele pode ter duas formas.
- Um local válido e totalmente qualificado na forma de texto (entre aspas duplas). Por exemplo: "https://en.wikipedia.org/wiki/Demographics_of_the_world"
- Ou pode ser uma referência a uma célula (como B1) dentro do Google Sheets, onde a URL é armazenada.
- 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> ou <ol> tag).
- índice – o número de índice identifica a lista ou a tabela dentro da página web. Observe que os índices de listas e de tabelas são contados separadamente. Uma tabela e uma lista podem ter o mesmo número de índice. A contagem começa em 1, então 1 é a primeira tabela (ou a primeira lista) no HTML da página.
A IMPORTHTML retorna a tabela ou a lista a partir da célula da fórmula e preenche as células à direita e abaixo, então deixe essa área vazia. Por exemplo, =IMPORTHTML(B1, "table", 2) importa a segunda tabela da página cuja URL está na célula B1.
Como importar dados de uma página web para o Google Sheets
Opção 1: IMPORTHTML(url, "table", índice)
Veja a captura de tela abaixo. Quero importar dados na célula B3, então é ali que digito minha fórmula IMPORTHTML.
Verifique se a URL é válida, ou seja, coloque a URL entre aspas duplas e pressione Enter.
Enquanto o Google Sheets busca os dados da tabela, ele exibe o aviso Carregando na célula. Aguarde alguns instantes. Quanto maior a tabela, mais tempo a importação dos dados pode levar.
Enquanto a importação dos dados está em andamento, parece que a célula B3 retornou um erro. Veja a pequena marca vermelha no canto superior direito da célula. No entanto, não é um erro, apenas um estado transitório. Passe o mouse sobre a célula para ver a seguinte descrição:
Assim que o Google Sheets termina de carregar os dados, a marca vermelha desaparece. Você vai notar que os dados se estendem da célula da fórmula (B3) para a direita e para baixo na planilha.
Deixe espaço suficiente na planilha para a tabela de dados inteira. Caso contrário, a fórmula IMPORTHTML pode retornar um erro #REF!. Veja a imagem a seguir para ver o que acontece quando tenho dados na célula C9.
Opção 2: IMPORTHTML(referência à célula da url, "list", índice)
Neste exemplo, armazenei a URL na célula B1. Esta é a url da página HTML que contém a lista que queremos importar. Vou fazer referência a essa célula na fórmula IMPORTHTML do Google Sheets, que digito na célula B3. O resultado é o mesmo, exceto que desta vez quero uma lista em vez de uma tabela.
Como encontrar o índice de uma tabela ou lista
O índice conta as tabelas e as listas na ordem em que aparecem no HTML da página. Tabelas e listas são contadas separadamente, e a contagem começa em 1. Em uma página curta, teste 1, 2, 3 e assim por diante até os dados certos aparecerem.
Em uma página com muitas tabelas ou listas, use o console do desenvolvedor do navegador para ver os números:
- Abra a página no Chrome. Pressione Ctrl + Shift + J no Windows, ou Cmd + Option + J no Mac, para abrir o painel Console.
- Para numerar as tabelas, cole este código e pressione Enter:
var i = 1; document.querySelectorAll("table").forEach(function (el) { console.log(i++, el); }); - Passe o mouse sobre cada resultado no painel Console. O Chrome destaca essa tabela na página. O número ao lado é o índice que você deve usar na IMPORTHTML.
- Para listas, execute o mesmo código com "ul, ol" no lugar de "table".
O painel Console mostra a página depois que os scripts dela são executados. Se uma tabela aparece ali, mas a IMPORTHTML não a encontra, a página provavelmente a cria com JavaScript. Veja a próxima seção.
IMPORTHTML não funciona no Google Sheets
Quando a IMPORTHTML falha, a célula mostra um erro. Clique na célula e passe o mouse sobre o triângulo vermelho no canto para ler a mensagem. Estas são as causas mais comuns.
Erro #N/A: não foi possível buscar a URL
Quem busca a página são os servidores do Google, não o seu navegador. Se a página exigir login, estiver em uma rede corporativa ou bloquear visitantes automatizados, a busca falha. Verifique também o endereço. Ele precisa começar com http:// ou https://, e a página pode ter mudado de lugar desde que você escreveu a fórmula. Para testar, abra a URL em uma janela anônima do navegador. Se você precisar fazer login ali, a IMPORTHTML também não consegue ler a página.
A tabela é carregada com JavaScript
A IMPORTHTML lê o HTML que o servidor envia. Ela não executa os scripts da página. Muitos sites criam as tabelas com JavaScript depois que a página carrega, então a tabela que você vê no navegador não está nesse HTML, e a IMPORTHTML retorna um erro dizendo que o conteúdo importado está vazio. Para verificar, clique com o botão direito na página, escolha Ver código-fonte da página e procure um valor da tabela. Se ele não estiver lá, procure um download em CSV no site e importe esse arquivo com a IMPORTDATA em vez disso.
Dados errados: o índice mudou
Se a fórmula retornar uma tabela diferente da que você esperava, o índice está errado. Os sites mudam de layout, e uma tabela nova perto do topo de uma página desloca todos os números depois dela. Encontre o índice de novo com os passos acima. Um índice maior que o número de tabelas ou listas da página retorna um erro.
Erro #REF!: o resultado sobrescreveria dados
A IMPORTHTML precisa de células vazias para o resultado inteiro. Se alguma célula desse intervalo já tiver um valor, você recebe #REF!, como mostrado na opção 1 acima. Limpe essas células ou mova a fórmula.
Os dados não são atualizados
O Google Sheets recalcula a IMPORTHTML sozinho mais ou menos a cada hora, então a célula pode ficar atrás do site. Para forçar uma atualização, edite a fórmula e pressione Enter.
Outras formas de importar dados para o Google Sheets
A IMPORTHTML só lê tabelas e listas. O Google Sheets tem outras funções de importação para outras fontes:
- IMPORTXML puxa qualquer parte de uma página web ou de um arquivo XML com uma consulta XPath.
- IMPORTRANGE puxa um intervalo de células de outro arquivo do Google Sheets.
- IMPORTFEED importa um feed RSS ou Atom.
Procurando mais fórmulas e truques para economizar tempo no Google Sheets? Se você precisa importar com frequência dados de arquivos .csv ou .tsv da web, veja como usar a fórmula IMPORTDATA no Google Sheets.
Para combinar dados de várias planilhas, arquivos do Excel e outras fontes e mantê-los atualizados de forma programada, Sheetgo, uma plataforma de automação de dados com IA, conecta tudo isso sem fórmulas.



