En este tutorial aprenderás cómo leer información de Google Sheets usando Apps Script a través de funciones personalizadas. Este es un paso fundamental para automatizar tareas y manipular datos en tus hojas de cálculo. Te mostraré cómo conectarte a tu archivo, seleccionar hojas y celdas específicas, y cómo obtener valores individuales o rangos completos, todo siguiendo buenas prácticas de programación que te ayudarán a mantener tu código claro y eficiente.
Si prefieres ver el tutorial en video, te lo dejo a continuación:
Cómo crear una función personalizada para leer datos en Google Sheets con Apps Script
Para empezar, vamos a crear una función personalizada en el Editor de secuencias de comandos de Google Sheets. Este es el método que yo uso y recomiendo para automatizar la lectura de datos en tus hojas. Primero, abre tu archivo de Google Sheets y sigue estos pasos:
- Ve a Herramientas > Editor de secuencias de comandos.
- El editor abrirá una función predeterminada llamada
myFunction. Cámbiala por un nombre descriptivo, por ejemplo:leerDatos. - Guarda el proyecto con Ctrl+S y asígnale un nombre identificable.
function leerDatos() {
// Aquí irá el código para leer datos
}
Recuerda que es muy importante usar nombres descriptivos tanto en funciones como en variables. Esto facilita el mantenimiento y la comprensión del código, especialmente cuando tu proyecto crece.
Conectarse a tu archivo y hoja de cálculo
Para leer datos, primero debes conectarte al archivo y a la hoja correcta. Aquí te muestro cómo hacerlo paso a paso:
function leerDatos() {
var libro = SpreadsheetApp.getActiveSpreadsheet(); // Conectar al archivo activo
var hoja = libro.getActiveSheet(); // Seleccionar la hoja activa
}
Si quieres acceder a una hoja específica (por ejemplo, llamada “Ventas”), usa:
var hoja = libro.getSheetByName("Ventas");
Leer el valor de una celda específica
Puedes acceder a una celda usando notación tipo “A1” o coordenadas numéricas (fila, columna). Aquí algunos ejemplos:
// Usando notación "A1"
var valor = hoja.getRange("B2").getValue();
Logger.log(valor);
// Usando coordenadas numéricas (fila 4, columna 2)
var valor2 = hoja.getRange(4, 2).getValue();
Logger.log(valor2);
El método Logger.log() te permite ver el resultado en los registros de Apps Script, lo cual es muy útil para depurar tu código.
Leer un rango de celdas y recorrer los valores
Si necesitas leer varios valores a la vez, puedes usar getRange().getValues(), que devuelve un arreglo bidimensional. Por ejemplo, para leer de la celda B6 a B9:
var rango = hoja.getRange("B6:B9").getValues();
Logger.log(rango);
Esto te dará un arreglo de arreglos. Puedes recorrerlo así:
for (var i = 0; i < rango.length; i++) {
Logger.log(rango[i][0]); // Accede a cada valor de la columna B
}
Acceder a datos en otra pestaña del archivo
No estás limitado a la hoja activa. Puedes leer datos de cualquier pestaña usando getSheetByName():
var otraHoja = libro.getSheetByName("Inventario");
var dato = otraHoja.getRange("C3").getValue();
Logger.log(dato);
Buenas prácticas al programar en Apps Script
Al escribir código en Apps Script, te recomiendo:
- Usar nombres claros y descriptivos para funciones y variables.
- Agregar comentarios útiles explicando cada bloque de código.
- Utilizar una indentación correcta para mejorar la legibilidad.
- Probar tu código usando Logger.log() para depurar y verificar resultados.
Ejemplo completo de función para leer datos
function leerDatos() {
var libro = SpreadsheetApp.getActiveSpreadsheet();
var hoja = libro.getActiveSheet();
var valor = hoja.getRange("B2").getValue();
Logger.log("Valor en B2: " + valor);
var rango = hoja.getRange("B6:B9").getValues();
for (var i = 0; i < rango.length; i++) {
Logger.log("Valor en B" + (6 + i) + ": " + rango[i][0]);
}
var otraHoja = libro.getSheetByName("Inventario");
var dato = otraHoja.getRange("C3").getValue();
Logger.log("Valor en Inventario!C3: " + dato);
}
Conclusión
En este tutorial aprendiste cómo leer datos desde Google Sheets usando Apps Script, accediendo a celdas individuales, rangos y otras pestañas, aplicando buenas prácticas de programación. Esto te permitirá automatizar tareas y preparar el camino para cálculos más avanzados o integraciones con otras herramientas. Te invito a seguir practicando y experimentar con diferentes rangos y funciones para dominar Apps Script en tus proyectos.
Si quieres aprender a usar Google Forms y Google Sheets desde cero, te invito a tomar un curso gratis de 2 horas.