Cómo Geocodificar Direcciones en Google Sheets: 4 Métodos Que Realmente Funcionan
Cómo geocodificar direcciones en Google Sheets: exportar CSV, fórmula =GEOCODE(), lote vía Apps Script y geocodificación inversa. 100 filas gratis por día.
Si tienes un Google Sheets lleno de direcciones y necesitas coordenadas de latitud/longitud, estás en el lugar correcto. Ya sea que estés mapeando ubicaciones de clientes, planeando rutas de entrega o construyendo un localizador de tiendas, geocodificación en Google Sheets es una de las tareas de datos más comunes que nadie enseña a hacer bien.
El problema? Google Sheets no tiene función de geocodificación nativa. No existe una fórmula =GEOCODE() esperando. Pero hay cuatro métodos prácticos para lograrlo, desde cero código hasta procesamiento por lotes completamente automatizado.
En esta guía, te mostraré cada enfoque para geocodificar direcciones en Google Sheets — desde un flujo simple de copiar y pegar hasta funciones personalizadas de Apps Script que convierten tu hoja de cálculo en una máquina de geocodificación. Todos los ejemplos de código son reales, probados y listos para usar con la plataforma CSV2GEO.
Vamos a ello.
¿Quién Necesita Geocodificar Direcciones en Google Sheets?
Antes de sumergirnos en los métodos, veamos quién normalmente necesita esto:
Equipos de Marketing
Mapeando ubicaciones de clientes para campañas segmentadas por región.
Operaciones de Entrega
Convirtiendo direcciones de entrega en coordenadas para planificación de rutas.
Inmobiliarias
Geocodificando listados de propiedades para mapas interactivos de búsqueda.
Investigadores
Analizando datos geográficos de encuestas, cuestionarios o registros públicos.
E-commerce
Construyendo localizadores de tiendas y calculando zonas de entrega.
Salud
Mapeando pacientes para análisis de acceso y planificación de unidades.
El denominador común? Tienes direcciones en una hoja de cálculo. Necesitas coordenadas. Y no quieres pagar a Google $5 por cada 1,000 consultas.
Método 1: Sin Código — Exportar CSV, Subir a CSV2GEO, Pegar de Regreso
Mejor para: Cualquier persona que quiere coordenadas sin escribir una sola línea de código.
Este es el enfoque más simple para geocodificar una hoja de cálculo. Sin claves API, sin scripts, sin configuración técnica. Solo exporta, sube, descarga y pega.
Step 1: Exporta Tu Google Sheets como CSV
Abre tu Google Sheets con direcciones. Ve a Archivo > Descargar > Valores separados por comas (.csv). Esto descarga la hoja actual como archivo CSV a tu computadora.
Asegúrate de que tus datos de dirección estén limpios. Necesitas columnas como dirección, ciudad, estado, código postal y país — o mínimo una columna con la dirección completa.
Step 2: Sube a CSV2GEO
Ve a CSV2GEO y arrastra tu archivo CSV al área de carga. La plataforma detecta automáticamente tus columnas y te pide mapear:
- Dirección — tu columna de calle
- Ciudad — ciudad o municipio
- Estado — estado o provincia
- CP — código postal
- País — nombre del país o código ISO
Haz clic en Procesar y CSV2GEO geocodifica cada fila usando su base de datos de 461M+ direcciones en 200+ países.
Step 3: Descarga los Resultados
Una vez que termina el procesamiento, descarga tu archivo geocodificado. Contendrá todas tus columnas originales más columnas nuevas: latitud, longitud, dirección formateada y una puntuación de precisión para que sepas qué tan confiable es cada resultado.
Step 4: Pega de Regreso en Google Sheets
Abre el CSV descargado en Google Sheets (Archivo > Importar), o simplemente copia las columnas de latitud y longitud y pégalas en tu hoja original.
Eso es todo. Sin código, sin clave API, sin configuración. La geocodificación gratuita te da 100 filas por día sin costo, suficiente para muchos proyectos pequeños.
Método 2: Función Personalizada de Apps Script — =GEOCODE(A2)
Mejor para: Usuarios que quieren una experiencia estilo fórmula directamente en su hoja.
Este método usa Google Apps Script y la API de geocodificación CSV2GEO para crear una función =GEOCODE() personalizada que funciona como cualquier otra fórmula.
Step 1: Obtén Tu Clave API
Ve a CSV2GEO API Keys y genera una clave API gratuita. El plan gratuito incluye 1,000 solicitudes API por día — más que suficiente para la mayoría de flujos de trabajo en hojas de cálculo.
Step 2: Abre el Editor de Apps Script
En tu Google Sheets, ve a Extensiones > Apps Script. Esto abre el editor de scripts donde pegarás la función de geocodificación.
Step 3: Agrega la Función de Geocodificación
Borra cualquier código existente y pega esto:
/**
* Geocodifica una dirección y devuelve lat, lng
* @param {string} address La dirección a geocodificar
* @param {string} country Código ISO del país (opcional, ej: "MX")
* @return {string} "latitud, longitud"
* @customfunction
*/
function GEOCODE(address, country) {
if (!address) return "";
const API_KEY = "TU_CLAVE_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 "No encontrado";
}Step 4: Úsala en Tu Hoja
Guarda el script (Ctrl+S), luego regresa a tu hoja. Ahora puedes usar la fórmula como cualquier función nativa:
=GEOCODE("Av Insurgentes Sur 1602, CDMX", "MX")Esto devuelve: 19.3835, -99.1777
También puedes referenciar celdas:
=GEOCODE(A2, B2)Donde la columna A tiene la dirección y la columna B tiene el código del país.
Nota importante: Las funciones personalizadas en Google Sheets se ejecutan una a la vez. Si pones =GEOCODE() en 500 filas, cada una hace una llamada API separada secuencialmente. Para grandes conjuntos de datos, usa el Método 3.
Método 3: Geocodificación por Lotes con Menú Personalizado de Apps Script
Mejor para: Procesar cientos o miles de direcciones eficientemente.
Este método agrega un menú "Geocodificación" a tu Google Sheets que te permite geocodificar una columna entera de direcciones con un clic. Procesa filas en lotes con control de tasa integrado.
Step 1: Agrega el Script de Geocodificación por Lotes
Abre Extensiones > Apps Script y pega el script completo:
// Agrega menú "Geocodificación" a Google Sheets
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('Geocodificación')
.addItem('Geocodificar Todas las Direcciones', 'geocodeAll')
.addItem('Geocodificación Inversa (Selección)', 'reverseGeocodeSelected')
.addToUi();
}
function geocodeAll() {
const API_KEY = "TU_CLAVE_API_AQUI";
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow();
for (let row = 2; row <= lastRow; row++) {
if (sheet.getRange(row, 6).getValue()) continue;
const address = sheet.getRange(row, 1).getValue();
const country = sheet.getRange(row, 5).getValue();
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);
sheet.getRange(row, 7).setValue(r.location.lng);
sheet.getRange(row, 8).setValue(r.accuracy_score);
}
} catch (e) {
sheet.getRange(row, 6).setValue("Error: " + e.message);
}
Utilities.sleep(200);
if (row % 50 === 0) {
SpreadsheetApp.getActiveSpreadsheet().toast(
"Procesadas " + row + " de " + lastRow + " filas", "Geocodificación", 3);
}
}
SpreadsheetApp.getActiveSpreadsheet().toast("¡Listo!", "Geocodificación");
}Step 2: Configura Tu Hoja
Organiza tu Google Sheets así:
| A (Dirección) | B (Ciudad) | C (Estado) | D (CP) | E (País) | F (Latitud) | G (Longitud) | H (Confianza) |
|---|---|---|---|---|---|---|---|
| Av Insurgentes Sur 1602 | CDMX | CDMX | 03940 | MX | auto | auto | auto |
| Calle Reforma 222 | Guadalajara | JAL | 44100 | MX |
Step 3: Ejecuta el Geocodificador
Recarga tu hoja (la función onOpen necesita ejecutarse una vez). Verás un nuevo menú "Geocodificación" en la barra. Haz clic en Geocodificación > Geocodificar Todas las Direcciones y observa cómo cada fila se llena con coordenadas.
El script procesa filas con un retraso de 200ms entre solicitudes para respetar límites de tasa. Para 500 direcciones, espera unos 2 minutos. Una notificación de progreso te actualiza cada 50 filas.
Consejo profesional: Si tienes más de 1,000 direcciones, divide tu trabajo en varios días con el plan gratuito, o actualiza a un plan pago. Alternativamente, exporta como CSV y usa la geocodificación por lotes para resultados más rápidos en archivos grandes.
Método 4: Geocodificación Inversa en Google Sheets (Coordenadas a Dirección)
Mejor para: Cuando ya tienes latitud y longitud y necesitas direcciones.
Es lo opuesto a la geocodificación directa. Tienes coordenadas GPS — quizás de una app móvil, dispositivo IoT o encuesta de campo — y necesitas saber a qué dirección corresponden. Esto se llama geocodificación inversa.
La Función de Geocodificación Inversa
Agrega esta función a tu Apps Script:
function REVERSE_GEOCODE(lat, lng) {
if (!lat || !lng) return "";
const API_KEY = "TU_CLAVE_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 "No encontrado";
}Usándola en Tu Hoja
=REVERSE_GEOCODE(19.3835, -99.1777)Esto devuelve algo como: Av. Insurgentes Sur 1602, CDMX 03940, México
Entendiendo la Respuesta de la API
Cuando llamas a la API de CSV2GEO, esto es lo que regresa. Entender la estructura de respuesta ayuda a extraer exactamente los datos que necesitas en tus scripts.
{
"results": [{
"formatted_address": "Av. Insurgentes Sur 1602, CDMX 03940, MX",
"location": { "lat": 19.3835, "lng": -99.1777 },
"accuracy": "rooftop",
"accuracy_score": 0.98,
"components": {
"house_number": "1602",
"street": "Avenida Insurgentes Sur",
"city": "Ciudad de México",
"state": "CDMX",
"postcode": "03940",
"country": "MX"
}
}]
}El campo accuracy_score es particularmente útil. Una puntuación de 0.95+ significa precisión de nivel de techo. Puntuaciones entre 0.7 y 0.95 indican precisión de nivel de calle. Por debajo de 0.7, el resultado puede ser preciso solo a nivel de ciudad o código postal.
Comparación: ¿Qué Método de Geocodificación en Google Sheets Deberías Usar?
| Método | Dificultad | Velocidad | Mejor Para | Límite Gratuito |
|---|---|---|---|---|
| 1. Exportar CSV + CSV2GEO | Ninguna | ⭐⭐⭐⭐⭐ | Trabajos puntuales | 100 filas/día |
| 2. Fórmula =GEOCODE() | Básica | ⭐⭐ | 10-50 filas | 1,000 req/día |
| 3. Menú de Lote | Básica | ⭐⭐⭐⭐ | 100-5,000 filas | 1,000 req/día |
| 4. Geocod. Inversa | Básica | ⭐⭐⭐ | Coordenadas → Direcciones | 1,000 req/día |
Mi recomendación: Empieza con el Método 1 si tienes un trabajo único. Usa el Método 3 si geocodificas regularmente. Para cargas serias arriba de 10,000 filas, salta la hoja de cálculo y usa la geocodificación por lotes directamente.
Consejos y Mejores Prácticas para Geocodificación en Google Sheets
1. Limpia Tus Direcciones Primero
Basura entra, basura sale. Antes de geocodificar, dedica cinco minutos a limpiar tus datos:
- Elimina espacios extras: Usa =ESPACIOS(A2) para quitar espacios iniciales, finales y dobles
- Estandariza abreviaciones: Decide entre "Calle" vs "C.", "Avenida" vs "Av." y sé consistente
- Incluye códigos de país: Siempre proporciona el código ISO (MX, US, CO, AR) para mejor precisión
- Combina partes del domicilio: Si está dividido en columnas, concatena: =A2 & ", " & B2 & ", " & C2 & " " & D2
2. Siempre Incluye el País
La mejora más significativa que puedes hacer en la precisión es proporcionar el país. Una dirección como "Calle Principal 123" existe en miles de ciudades del mundo. Agregar "MX" la restringe a un país instantáneamente.
3. Usa Procesamiento por Lotes para Grandes Conjuntos
La fórmula =GEOCODE() funciona genial para 10-50 filas. Más allá, usa el script de menú por lotes (Método 3) o exporta como CSV y sube a CSV2GEO para geocodificación por lotes. La carga de archivo es 10x más rápida para grandes conjuntos.
4. Almacena en Caché Tus Resultados
Geocodificar la misma dirección dos veces es desperdicio. Si ejecutas el script varias veces, agrega una verificación para saltar filas que ya tienen coordenadas:
// Saltar si la columna F (latitud) ya tiene valor
if (sheet.getRange(row, 6).getValue()) continue;5. Maneja Errores con Gracia
Algunas direcciones simplemente no van a geocodificar — errores de dedo, datos incompletos o direcciones inexistentes. Los scripts devuelven "No encontrado" o "Error" para que identifiques y corrijas las filas problemáticas.
6. Monitorea Tu Uso de API
El plan gratuito da 1,000 solicitudes API por día. Si geocodificas 5,000 filas, necesitarás distribuir en cinco días o actualizar tu plan.
7. Considera la API para Automatización
Si geocodificas hojas regularmente, considera construir un flujo automatizado con la API de geocodificación completa. CSV2GEO ofrece 19 endpoints cubriendo geocodificación directa, inversa, operaciones por lotes, búsqueda de lugares y límites administrativos.
Preguntas Frecuentes
¿La geocodificación en Google Sheets es gratuita?
Sí. El método sin código da 100 filas gratuitas por día. Los métodos de API dan 1,000 solicitudes gratuitas por día. Para la mayoría de proyectos, el plan gratuito es suficiente.
¿Cuántas direcciones puedo geocodificar en Google Sheets?
Con el plan gratuito, hasta 1,000 por día con la API. Para conjuntos muy grandes (50,000+), recomiendo exportar como CSV y usar la geocodificación por lotes de CSV2GEO.
¿Necesito clave API para geocodificar en Google Sheets?
Solo para Métodos 2, 3 y 4. Método 1 no requiere clave — solo sube tu archivo a CSV2GEO.
¿Puedo geocodificar direcciones internacionales en Google Sheets?
Absolutamente. CSV2GEO soporta más de 200 países con 461M+ direcciones. Incluye el código ISO del país (MX, CO, AR, etc.) para mejores resultados. Consulta guías para geocodificar direcciones de Australia o geocodificar direcciones de Brasil.
¿Qué tan precisa es la geocodificación en Google Sheets?
Para direcciones bien formateadas, espera precisión a nivel de techo para 90%+ de resultados. La respuesta incluye accuracy_score (0 a 1). Aprende más en la guía de convertir dirección a lat/long.
¿Puedo hacer geocodificación inversa en Google Sheets?
Sí. El Método 4 cubre geocodificación inversa. También hay una herramienta dedicada de geocodificación inversa sin código.
¿Los datos geocodificados se actualizan automáticamente?
No. Las coordenadas son valores estáticos. Si actualizas una dirección, necesitas re-ejecutar la función o script para obtener nuevas coordenadas.
¿Cuál es la diferencia entre geocodificar en Google Sheets vs Excel?
Google Sheets usa Apps Script (JavaScript), mientras Excel usa VBA. El flujo básico es igual. Google Sheets tiene la ventaja de ser basado en la nube. Excel es mejor para archivos enormes (1M+ filas). Tenemos una guía para geocodificar archivos Excel.
Empieza a Geocodificar
Sube tus direcciones a la herramienta gratuita de geocodificación por lotes o usa los scripts arriba directamente en Google Sheets. 100 filas gratis por día, sin registro, sin tarjeta de crédito.
I.A. / CSV2GEO Creator
Artículos Relacionados
Use our batch geocoding tool to convert thousands of addresses to coordinates in minutes. Start with 100 free addresses.
Try Batch Geocoding Free →