En este tutorial te voy a mostrar cómo arrastrar fórmulas automáticamente en Google Sheets usando Google Apps Script, una solución ideal para quienes necesitan que sus fórmulas se apliquen automáticamente a nuevas filas sin tener que arrastrarlas manualmente o depender de ARRAYFORMULA. Aprenderás dos métodos: uno donde defines la fórmula en el código y otro donde tomas la fórmula directamente de una celda. Esto te permitirá automatizar procesos, ahorrar tiempo y evitar errores comunes al trabajar con datos dinámicos o bases de datos en crecimiento.
Si prefieres ver el tutorial en video, lo puedes encontrar arriba. Ahora sí, vamos paso a paso con el método que yo uso para automatizar el arrastre de fórmulas en Google Sheets.
¿Por qué automatizar el arrastre de fórmulas en Google Sheets?
Normalmente, cuando insertas una nueva fila en tu hoja de cálculo, las fórmulas no se copian automáticamente a esa nueva fila. Esto es un inconveniente si trabajas con bases de datos en crecimiento o si constantemente agregas información. Aunque existe la función ARRAYFORMULA, tiene limitaciones importantes: no es compatible con todas las funciones, puede hacer tu archivo más pesado y puede interferir con algunos scripts.
Métodos tradicionales para arrastrar fórmulas
La forma tradicional es simplemente escribir la fórmula en una celda y arrastrarla hacia abajo. Por ejemplo, si tienes los siguientes datos:
| A | B | C |
|---|---|---|
| 2 | 3 | =A2+B2 |
| 5 | 8 | =A3+B3 |
Arrastras la fórmula de la columna C hacia abajo y listo. Pero si insertas una nueva fila, la fórmula no se copia automáticamente y tienes que volver a arrastrar.
ARRAYFORMULA: Solución y limitaciones
ARRAYFORMULA permite aplicar una fórmula a un rango completo de una vez. Por ejemplo:
=ARRAYFORMULA(A2:A18+B2:B18)
Con esto, la suma se aplica automáticamente a todas las filas del rango. Sin embargo, ARRAYFORMULA no funciona con todas las funciones (como SUMA, ÍNDICE, SUMAR.SI.CONJUNTO, FILTER, etc.), puede hacer tu archivo pesado y puede interferir con otros scripts o procesos.
Automatiza el arrastre de fórmulas con Google Apps Script
Ahora vamos a ver cómo automatizar el arrastre de fórmulas usando Google Apps Script. Este método es flexible y funciona con cualquier fórmula, incluso las más complejas como BUSCARV, ÍNDICE o fórmulas personalizadas.
Paso 1: Accede a Google Apps Script
En tu hoja de Google Sheets, ve a Extensiones > Apps Script. Asígnale un nombre a tu proyecto, por ejemplo, “Arrastrar fórmula automáticamente”.
Paso 2: Define la fórmula en el código
Vas a definir la fórmula que quieres arrastrar en una constante dentro del código. Por ejemplo, para sumar las columnas A y B:
function arrastrarFormula() {
var libro = SpreadsheetApp.getActiveSpreadsheet();
var hoja = libro.getActiveSheet();
var miFormula = "=A2+B2";
var ultimaFila = hoja.getLastRow();
var rango = hoja.getRange(2, 3, ultimaFila-1, 1); // Desde C2 hasta la última fila
rango.setFormula(miFormula);
}
Este código coloca la fórmula en la columna C, desde la fila 2 hasta la última fila con datos. Puedes modificar la fórmula según lo que necesites.
Paso 3: Ejecuta el script
Haz clic en el botón de ejecutar en el editor de Apps Script. La primera vez te pedirá permisos, acéptalos. Al ejecutarlo, la fórmula se copiará automáticamente en todas las filas necesarias.
Paso 4: Automatiza con un disparador (trigger)
Para que el script se ejecute automáticamente cada vez que edites la hoja, puedes agregar un disparador (trigger) desde el menú de Apps Script (reloj a la izquierda) y seleccionar “al editar” (onEdit).
Método alternativo: Copia la fórmula desde una celda
Otra opción es tomar la fórmula directamente de una celda, por ejemplo, de C2. Así puedes cambiar la fórmula en la hoja y el script la aplicará automáticamente al resto:
function arrastrarFormulaDesdeCelda() {
var libro = SpreadsheetApp.getActiveSpreadsheet();
var hoja = libro.getActiveSheet();
var miFormula = hoja.getRange('C2').getFormula();
var ultimaFila = hoja.getLastRow();
var rango = hoja.getRange(2, 3, ultimaFila-1, 1);
rango.setFormula(miFormula);
}
Con este método, si cambias la fórmula en C2 (por ejemplo, a BUSCARV, ÍNDICE, etc.), el script la arrastrará automáticamente al resto de filas.
Recomendaciones y consideraciones
Recuerda que las funciones en Apps Script deben escribirse en inglés y usando comas como separador, por ejemplo =SUM(A2,B2) y no =SUMA(A2;B2). Si tu hoja está configurada en español, puedes cambiar la configuración temporalmente o adaptar las fórmulas manualmente.
Conclusión
Automatizar el arrastre de fórmulas en Google Sheets con Apps Script es una solución poderosa para mantener tus datos actualizados sin esfuerzo, especialmente cuando usas fórmulas complejas o necesitas máxima flexibilidad. Puedes definir la fórmula en el código o copiarla desde una celda, lo que te permite adaptarte a cualquier situación. Si quieres profundizar más, explora disparadores personalizados y otras automatizaciones en Google Sheets.
Si quieres aprender a usar Google Forms y Google Sheets desde cero, te invito a tomar un curso gratis de 2 horas.