Como Geocodificar Endereços no Google Sheets: 4 Métodos Que Realmente Funcionam
Como geocodificar endereços no Google Sheets: exportar CSV, fórmula =GEOCODE(), lote via Apps Script e geocodificação reversa. 100 linhas grátis por dia.
Se você tem um Google Sheets cheio de endereços e precisa de coordenadas de latitude/longitude, você está no lugar certo. Seja para mapear localizações de clientes, planejar rotas de entrega ou criar um localizador de lojas, geocodificação no Google Sheets é uma das tarefas de dados mais comuns que ninguém ensina a fazer direito.
O problema? O Google Sheets não tem função de geocodificação nativa. Não existe uma fórmula =GEOCODE() esperando por você. Mas existem quatro métodos práticos para resolver isso, desde zero código até processamento em lote totalmente automatizado.
Neste guia, vou apresentar cada abordagem para geocodificar endereços no Google Sheets — desde um fluxo simples de copiar e colar até funções personalizadas do Apps Script que transformam sua planilha em uma máquina de geocodificação. Todos os exemplos de código são reais, testados e prontos para uso com a plataforma CSV2GEO.
Vamos lá.
Quem Precisa Geocodificar Endereços no Google Sheets?
Antes de mergulhar nos métodos, veja quem normalmente precisa disso:
Equipes de Marketing
Mapeando localizações de clientes para campanhas segmentadas por região.
Operações de Entrega
Convertendo endereços de entrega em coordenadas para planejamento de rotas.
Imobiliárias
Geocodificando listagens de imóveis para mapas interativos de busca.
Pesquisadores
Analisando dados geográficos de pesquisas, questionários ou registros públicos.
E-commerce
Construindo localizadores de lojas e calculando zonas de entrega.
Saúde
Mapeando pacientes para análise de acesso e planejamento de unidades.
O denominador comum? Você tem endereços em uma planilha. Precisa de coordenadas. E não quer pagar ao Google $5 por 1.000 consultas para obtê-las.
Método 1: Sem Código — Exportar CSV, Upload no CSV2GEO, Colar de Volta
Melhor para: Qualquer pessoa que quer coordenadas sem escrever uma única linha de código.
Esta é a abordagem mais simples para geocodificar uma planilha. Sem chaves de API, sem scripts, sem configuração técnica. Apenas exporte, faça upload, baixe e cole.
Step 1: Exporte Seu Google Sheets como CSV
Abra seu Google Sheets com endereços. Vá em Arquivo > Fazer download > Valores separados por vírgula (.csv). Isso baixa a aba atual como arquivo CSV para seu computador.
Certifique-se de que seus dados de endereço estão limpos. Você quer colunas como endereço, cidade, estado, CEP e país — ou no mínimo uma coluna única com o endereço completo.
Step 2: Faça Upload no CSV2GEO
Vá ao CSV2GEO e arraste seu arquivo CSV para a área de upload. A plataforma detecta automaticamente suas colunas e pede para mapear:
- Endereço — sua coluna de endereço
- Cidade — cidade ou município
- Estado — estado ou província
- CEP — código postal
- País — nome do país ou código ISO
Clique em Processar e o CSV2GEO geocodifica cada linha usando seu banco de dados de 461M+ endereços em 200+ países.
Step 3: Baixe os Resultados
Após o processamento, baixe seu arquivo geocodificado. Ele conterá todas as suas colunas originais mais novas colunas: latitude, longitude, endereço formatado e uma pontuação de precisão para que você saiba quão confiante cada resultado é.
Step 4: Cole de Volta no Google Sheets
Abra o CSV baixado no Google Sheets (Arquivo > Importar), ou simplesmente copie as colunas de latitude e longitude e cole na sua planilha original.
É isso. Sem código, sem chave de API, sem configuração. A geocodificação gratuita oferece 100 linhas por dia sem custo, suficiente para muitos projetos pequenos.
Método 2: Função Personalizada do Apps Script — =GEOCODE(A2)
Melhor para: Usuários que querem uma experiência estilo fórmula diretamente na planilha.
Este método usa o Google Apps Script e a API de geocodificação CSV2GEO para criar uma função =GEOCODE() personalizada que funciona como qualquer outra fórmula de planilha.
Step 1: Obtenha Sua Chave de API
Vá ao CSV2GEO API Keys e gere uma chave de API gratuita. O plano gratuito inclui 1.000 requisições de API por dia — mais que suficiente para a maioria dos fluxos de planilha.
Step 2: Abra o Editor de Apps Script
No seu Google Sheets, vá em Extensões > Apps Script. Isso abre o editor de scripts onde você vai colar a função de geocodificação.
Step 3: Adicione a Função de Geocodificação
Apague qualquer código existente e cole isto:
/**
* Geocodifica um endereço e retorna lat, lng
* @param {string} address O endereço para geocodificar
* @param {string} country Código ISO do país (opcional, ex: "BR")
* @return {string} "latitude, longitude"
* @customfunction
*/
function GEOCODE(address, country) {
if (!address) return "";
const API_KEY = "SUA_CHAVE_API_AQUI";
const url = "https://api.csv2geo.com/v1/geocode"
+ "?q=" + encodeURIComponent(address)
+ (country ? "&country=" + country : "")
+ "&api_key=" + API_KEY;
const response = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
const data = JSON.parse(response.getContentText());
if (data.results && data.results.length > 0) {
const loc = data.results[0].location;
return loc.lat + ", " + loc.lng;
}
return "Não encontrado";
}Step 4: Use na Sua Planilha
Salve o script (Ctrl+S), depois volte à sua planilha. Agora você pode usar a fórmula como qualquer função nativa:
=GEOCODE("Av Paulista 1600, São Paulo, SP", "BR")Isso retorna: -23.561414, -46.656056
Você também pode referenciar células:
=GEOCODE(A2, B2)Onde a coluna A tem o endereço e a coluna B tem o código do país.
Nota importante: Funções personalizadas no Google Sheets executam uma de cada vez. Se você colocar =GEOCODE() em 500 linhas, cada uma faz uma chamada de API separada sequencialmente. Para grandes conjuntos de dados, use o Método 3.
Método 3: Geocodificação em Lote com Menu Personalizado do Apps Script
Melhor para: Processar centenas ou milhares de endereços de forma eficiente.
Este método adiciona um menu "Geocodificação" ao seu Google Sheets que permite geocodificar uma coluna inteira de endereços com um clique. Processa linhas em lotes com controle de taxa embutido.
Step 1: Adicione o Script de Geocodificação em Lote
Abra Extensões > Apps Script e cole o script completo:
// Adiciona menu "Geocodificação" ao Google Sheets
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('Geocodificação')
.addItem('Geocodificar Todos os Endereços', 'geocodeAll')
.addItem('Geocodificação Reversa (Seleção)', 'reverseGeocodeSelected')
.addToUi();
}
function geocodeAll() {
const API_KEY = "SUA_CHAVE_API_AQUI";
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow();
for (let row = 2; row <= lastRow; row++) {
// Pular se já tem coordenadas
if (sheet.getRange(row, 6).getValue()) continue;
const address = sheet.getRange(row, 1).getValue(); // Coluna A = endereço
const country = sheet.getRange(row, 5).getValue(); // Coluna E = país
if (!address) continue;
const url = "https://api.csv2geo.com/v1/geocode"
+ "?q=" + encodeURIComponent(address)
+ (country ? "&country=" + country : "")
+ "&api_key=" + API_KEY;
try {
const response = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
const data = JSON.parse(response.getContentText());
if (data.results && data.results.length > 0) {
const r = data.results[0];
sheet.getRange(row, 6).setValue(r.location.lat); // Coluna F = latitude
sheet.getRange(row, 7).setValue(r.location.lng); // Coluna G = longitude
sheet.getRange(row, 8).setValue(r.accuracy_score); // Coluna H = confiança
}
} catch (e) {
sheet.getRange(row, 6).setValue("Erro: " + e.message);
}
// Respeitar limites de taxa
Utilities.sleep(200);
// Notificação de progresso a cada 50 linhas
if (row % 50 === 0) {
SpreadsheetApp.getActiveSpreadsheet().toast(
"Processadas " + row + " de " + lastRow + " linhas",
"Geocodificação", 3
);
}
}
SpreadsheetApp.getActiveSpreadsheet().toast("Concluído!", "Geocodificação");
}Step 2: Configure Sua Planilha
Organize seu Google Sheets assim:
| A (Endereço) | B (Cidade) | C (Estado) | D (CEP) | E (País) | F (Latitude) | G (Longitude) | H (Confiança) |
|---|---|---|---|---|---|---|---|
| Av Paulista 1600 | São Paulo | SP | 01310-200 | BR | preenchido automaticamente | preenchido automaticamente | preenchido automaticamente |
| Rua Copacabana 350 | Rio de Janeiro | RJ | 22020-001 | BR |
Step 3: Execute o Geocodificador
Recarregue sua planilha (a função onOpen precisa executar uma vez). Você verá um novo menu "Geocodificação" na barra de menus. Clique em Geocodificação > Geocodificar Todos os Endereços e observe cada linha sendo preenchida com coordenadas.
O script processa linhas com um atraso de 200ms entre requisições para respeitar limites de taxa. Para 500 endereços, espere cerca de 2 minutos de processamento. Uma notificação de progresso mantém você atualizado a cada 50 linhas.
Dica profissional: Se você tem mais de 1.000 endereços, divida seu trabalho em vários dias usando o plano gratuito, ou atualize para um plano pago CSV2GEO para limites maiores. Alternativamente, exporte como CSV e use a geocodificação em lote para resultados mais rápidos em grandes arquivos.
Método 4: Geocodificação Reversa no Google Sheets (Coordenadas para Endereço)
Melhor para: Quando você já tem latitude e longitude e precisa de endereços.
É o oposto da geocodificação direta. Você tem coordenadas GPS — talvez de um aplicativo móvel, dispositivo IoT ou pesquisa de campo — e precisa saber qual endereço corresponde a essas coordenadas. Isso é chamado de geocodificação reversa.
A Função de Geocodificação Reversa
Adicione esta função ao seu Apps Script (Extensões > Apps Script):
/**
* Geocodificação reversa: coordenadas para endereço
* @param {number} lat Latitude
* @param {number} lng Longitude
* @return {string} Endereço formatado
* @customfunction
*/
function REVERSE_GEOCODE(lat, lng) {
if (!lat || !lng) return "";
const API_KEY = "SUA_CHAVE_API_AQUI";
const url = "https://api.csv2geo.com/v1/reverse"
+ "?lat=" + lat + "&lng=" + lng
+ "&api_key=" + API_KEY;
const response = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
const data = JSON.parse(response.getContentText());
if (data.results && data.results.length > 0) {
return data.results[0].formatted_address;
}
return "Não encontrado";
}Usando na Sua Planilha
=REVERSE_GEOCODE(-23.561414, -46.656056)Isso retorna algo como: Av. Paulista, 1600, São Paulo, SP 01310-200, Brasil
Entendendo a Resposta da API
Quando você chama a API do CSV2GEO, veja o que retorna. Entender a estrutura da resposta ajuda a extrair exatamente os dados que você precisa nos seus scripts.
{
"results": [{
"formatted_address": "Av. Paulista, 1600, São Paulo, SP 01310-200, BR",
"location": { "lat": -23.561414, "lng": -46.656056 },
"accuracy": "rooftop",
"accuracy_score": 0.98,
"components": {
"house_number": "1600",
"street": "Avenida Paulista",
"city": "São Paulo",
"state": "SP",
"postcode": "01310-200",
"country": "BR"
}
}]
}O campo accuracy_score é particularmente útil. Uma pontuação de 0.95+ significa precisão de nível de telhado. Pontuações entre 0.7 e 0.95 indicam precisão de nível de rua. Abaixo de 0.7, o resultado pode ser preciso apenas até o nível de cidade ou CEP.
Comparação: Qual Método de Geocodificação no Google Sheets Você Deve Usar?
| Método | Dificuldade | Velocidade | Melhor Para | Limite Gratuito |
|---|---|---|---|---|
| 1. Exportar CSV + CSV2GEO | Nenhuma | ⭐⭐⭐⭐⭐ | Trabalhos pontuais | 100 linhas/dia |
| 2. Fórmula =GEOCODE() | Básica | ⭐⭐ | 10-50 linhas | 1.000 req/dia |
| 3. Menu de Lote | Básica | ⭐⭐⭐⭐ | 100-5.000 linhas | 1.000 req/dia |
| 4. Geocod. Reversa | Básica | ⭐⭐⭐ | Coordenadas → Endereços | 1.000 req/dia |
Minha recomendação: Comece com o Método 1 se você tem um trabalho único. Use o Método 3 se geocodifica regularmente e quer tudo dentro do Google Sheets. Para cargas de trabalho sérias acima de 10.000 linhas, pule a planilha e use a geocodificação em lote do CSV2GEO diretamente — é dramaticamente mais rápido.
Dicas e Melhores Práticas para Geocodificação no Google Sheets
1. Limpe Seus Endereços Primeiro
Lixo entra, lixo sai. Antes de geocodificar, reserve cinco minutos para limpar seus dados:
- Remova espaços extras: Use =ARRUMAR(A2) para remover espaços iniciais, finais e duplos
- Padronize abreviações: Decida entre "Rua" vs "R.", "Avenida" vs "Av." e seja consistente
- Inclua códigos de país: Sempre forneça o código ISO (BR, US, DE, FR) para melhor precisão
- Combine partes do endereço: Se está dividido em colunas, concatene: =A2 & ", " & B2 & ", " & C2 & " " & D2
2. Sempre Inclua o País
A melhoria mais significativa que você pode fazer na precisão da geocodificação é fornecer o país. Um endereço como "Rua 123 Principal" existe em milhares de cidades no mundo. Adicionar "BR" restringe a um país instantaneamente.
3. Use Processamento em Lote para Grandes Conjuntos de Dados
A fórmula =GEOCODE() funciona ótimo para 10-50 linhas. Além disso, use o script de menu em lote (Método 3) ou exporte como CSV e faça upload no CSV2GEO para geocodificação em lote. O upload de arquivo é 10x mais rápido para grandes conjuntos porque processa linhas em paralelo no servidor.
4. Armazene Seus Resultados em Cache
Geocodificar o mesmo endereço duas vezes é desperdício. Se executar o script várias vezes, adicione uma verificação para pular linhas que já têm coordenadas:
// Pular se a coluna F (latitude) já tem valor
if (sheet.getRange(row, 6).getValue()) continue;5. Trate Erros com Elegância
Alguns endereços simplesmente não vão geocodificar — erros de digitação, dados incompletos ou endereços que não existem. Os scripts acima retornam mensagens "Não encontrado" ou "Erro" para que você possa identificar e corrigir as linhas problemáticas manualmente.
6. Monitore Seu Uso de API
O plano gratuito dá 1.000 requisições de API por dia. Se você está geocodificando uma planilha de 5.000 linhas, precisará distribuir em cinco dias ou atualizar seu plano. Verifique seu uso no painel do CSV2GEO.
7. Considere a API para Automação
Se geocodifica planilhas regularmente — digamos, uma importação semanal de novos endereços de clientes — considere construir um fluxo automatizado usando a API de geocodificação completa. O CSV2GEO oferece 19 endpoints cobrindo geocodificação direta, reversa, operações em lote, busca de locais e consultas de limites administrativos. É uma plataforma completa, não apenas um único endpoint.
Perguntas Frequentes
A geocodificação no Google Sheets é gratuita?
Sim, você pode geocodificar no Google Sheets gratuitamente usando o CSV2GEO. O método sem código (exportar CSV e upload) dá 100 linhas gratuitas por dia. Os métodos baseados em API (Apps Script) dão 1.000 requisições gratuitas por dia. Para a maioria dos projetos pequenos a médios, o plano gratuito é suficiente.
Quantos endereços posso geocodificar no Google Sheets?
Com o plano gratuito, até 1.000 endereços por dia usando os métodos de API. Com plano pago, não há limite prático. Para conjuntos muito grandes (50.000+ linhas), recomendo exportar como CSV e usar a geocodificação em lote do CSV2GEO, que processa linhas em paralelo e é significativamente mais rápido.
Preciso de chave de API para geocodificar no Google Sheets?
Apenas para os Métodos 2, 3 e 4 (os métodos de Apps Script). O Método 1 (upload de CSV sem código) não requer chave de API — você apenas faz upload no CSV2GEO e baixa os resultados. Para obter uma chave para os métodos de script, visite CSV2GEO API Keys. É gratuito e leva cerca de 30 segundos.
Posso geocodificar endereços internacionais no Google Sheets?
Com certeza. O CSV2GEO suporta mais de 200 países com dados de endereço para 39 países e cobertura de nível de cidade para o restante. O banco inclui 461M+ endereços. Apenas certifique-se de incluir o código ISO do país (como "BR" para Brasil, "JP" para Japão). Confira guias específicos como geocodificar endereços da Austrália ou geocodificar endereços do Brasil.
Qual a precisão da geocodificação no Google Sheets?
A precisão depende da qualidade dos seus dados de entrada — todos os quatro métodos usam o mesmo motor do CSV2GEO. Para endereços bem formatados, espere precisão de nível de telhado (poucos metros) para 90%+ dos resultados. A resposta da API inclui um campo accuracy_score (0 a 1). Saiba mais sobre precisão no guia de converter endereço em lat/long.
Posso fazer geocodificação reversa (coordenadas para endereço) no Google Sheets?
Sim. O Método 4 neste guia cobre geocodificação reversa. Você pode usar a função =REVERSE_GEOCODE() para consultas individuais ou o script de menu em lote para processar centenas de pares de coordenadas. O CSV2GEO também tem uma ferramenta dedicada de geocodificação reversa se preferir a abordagem sem código.
Os dados geocodificados atualizam automaticamente?
Não. Coordenadas geocodificadas são valores estáticos — uma vez escritas na planilha, não mudam. Se você atualizar um endereço na coluna A, precisa re-executar a função ou script para obter novas coordenadas. A fórmula =GEOCODE() (Método 2) recalcula se a célula referenciada for editada, mas isso usa uma chamada de API cada vez.
Qual a diferença entre geocodificar no Google Sheets vs Excel?
Google Sheets usa Apps Script (baseado em JavaScript), enquanto Excel usa VBA ou Office Scripts. O fluxo básico é o mesmo: chamar uma API, analisar a resposta, gravar os resultados. Google Sheets tem a vantagem de ser baseado em nuvem. Excel é melhor para trabalho offline e arquivos muito grandes (1M+ linhas). Temos um guia dedicado para geocodificar arquivos Excel.
Comece a Geocodificar
Faça upload dos seus endereços na ferramenta gratuita de geocodificação em lote ou use os scripts acima diretamente no Google Sheets. 100 linhas gratuitas por dia, sem cadastro, sem cartão de crédito.
I.A. / CSV2GEO Creator
Artigos Relacionados
Use our batch geocoding tool to convert thousands of addresses to coordinates in minutes. Start with 100 free addresses.
Try Batch Geocoding Free →