Automatización de Google Sheets con macros y Apps Script

Google Sheets Automation with Macros and Apps Script Guide

Introducción a la automatización en Google Sheets

Google Sheets es potente por sí solo, pero las tareas repetitivas pueden consumir rápidamente un tiempo valioso. Muchos profesionales se encuentran formateando informes, limpiando datos, generando resúmenes o actualizando hojas de cálculo siguiendo siempre la misma secuencia de pasos. La automatización resuelve este problema.

La automatización de Google Sheets con macros y Apps Script permite registrar acciones o escribir scripts sencillos que ejecutan tareas automáticamente. En lugar de repetir 10 o 20 pasos manuales cada día, puedes activar una macro o un script para completar el trabajo en segundos.

Esta guía explica cómo funcionan las macros y Apps Script, cuándo usar cada método y cómo crear automatizaciones prácticas para flujos de trabajo reales en empresas.

Entendiendo las macros en Google Sheets

Una macro es una grabación de las acciones que realizas en una hoja de cálculo. Google Sheets convierte esas acciones en código de Apps Script que puede ejecutarse nuevamente más tarde.

Las macros son ideales para tareas como:

  • Aplicar formatos consistentes
  • Limpiar o transformar datos
  • Ordenar y filtrar información
  • Ejecutar cálculos repetitivos
  • Preparar informes

Ejemplo de uso de una macro

Imagina un informe semanal de ventas que requiere:

  • Fijar la fila de encabezado
  • Aplicar formato de moneda a las columnas de ingresos
  • Ordenar las filas por valor de ventas
  • Añadir una fila de totales

En lugar de repetir estos pasos cada semana, una macro puede realizarlos al instante.

Cómo grabar una macro en Google Sheets

Grabar una macro es la forma más sencilla de empezar con la automatización porque no requiere conocimientos de programación.

Paso a paso: grabar una macro

  1. Abre tu archivo de Google Sheets.
  2. Haz clic en Extensiones en el menú.
  3. Selecciona Macros.
  4. Elige Grabar macro.
  5. Realiza las acciones que deseas automatizar.
  6. Haz clic en Guardar cuando termines.
  7. Asigna un nombre y una tecla de acceso rápido opcional.

Después de guardarla, podrás ejecutar la macro en cualquier momento desde el menú de macros o usando el atajo asignado.

Qué sucede detrás de escena

Cuando grabas una macro, Google Sheets genera automáticamente una función de Apps Script. Por ejemplo, una macro simple de formato podría crear código como:

function formatSalesReport() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange("A1:E1").setFontWeight("bold");
  sheet.getRange("D:D").setNumberFormat("$#,##0.00");
}

Este script indica a Google Sheets exactamente qué acciones debe realizar.

Editar macros para tener más control

Una ventaja de las macros es que pueden modificarse después de grabarlas. Una vez que abras el editor de scripts, podrás mejorar la automatización para hacerla más inteligente o flexible.

Abrir el editor de scripts

  1. Haz clic en Extensiones
  2. Selecciona Apps Script
  3. Localiza la función de macro que grabaste

Aquí puedes editar el código generado.

Ejemplo: ampliar una macro

Supongamos que tu macro da formato de moneda a la columna D. Si se agregan nuevas columnas más adelante, la macro podría fallar. Puedes modificar el script para formatear dinámicamente toda la columna de ingresos:

function formatRevenue() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var lastRow = sheet.getLastRow();
  sheet.getRange(2,4,lastRow-1,1).setNumberFormat("$#,##0.00");
}

Esta versión se ajusta automáticamente al número de filas del conjunto de datos.

Introducción a Google Apps Script

Apps Script es un entorno de scripting basado en JavaScript integrado en Google Workspace. Permite automatizar tareas no solo en Sheets, sino también en otras herramientas como Gmail, Docs y Calendar.

Aunque las macros son útiles para acciones grabadas, Apps Script permite automatizaciones más avanzadas, como:

  • Crear funciones personalizadas en hojas de cálculo
  • Procesar grandes conjuntos de datos
  • Enviar correos electrónicos automáticos
  • Construir flujos de validación de datos
  • Ejecutar informes programados

Escribiendo tu primera automatización con Apps Script

Veamos un ejemplo sencillo que limpia automáticamente datos importados.

Problema

Una hoja de cálculo recibe exportaciones de datos que contienen espacios extra y capitalización inconsistente.

Script de solución

function cleanCustomerData() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var range = sheet.getDataRange();
  var values = range.getValues();

  for (var i = 1; i < values.length; i++) {
    values[i][0] = values[i][0].toString().trim();
    values[i][1] = values[i][1].toString().toUpperCase();
  }

  range.setValues(values);
}

Este script realiza dos tareas:

  • Elimina espacios adicionales de la columna A
  • Convierte el texto de la columna B a mayúsculas

Al ejecutar la función se limpia instantáneamente todo el conjunto de datos.

Crear funciones personalizadas con Apps Script

Apps Script también permite crear tus propias fórmulas para la hoja de cálculo.

Ejemplo: calculadora de descuento personalizada

function DISCOUNT(price, rate) {
  return price - (price * rate);
}

Después de guardar el script, puedes usarlo directamente en la hoja:

=DISCOUNT(A2,0.1)

Esto devuelve el precio después de aplicar un descuento del 10%.

Las funciones personalizadas son útiles cuando las fórmulas estándar se vuelven complejas o repetitivas.

Automatizar tareas con activadores

Los activadores permiten que los scripts se ejecuten automáticamente cuando ocurren ciertos eventos.

Tipos comunes de activadores

  • Al abrir – se ejecuta cuando se abre la hoja de cálculo
  • Al editar – se ejecuta cuando cambian los datos
  • Basado en tiempo – se ejecuta cada hora, día o semana
  • Envío de formulario – se ejecuta cuando llega una respuesta de formulario

Ejemplo: marca de tiempo automática

Este script añade una marca de tiempo cuando se agrega una nueva entrada.

function onEdit(e) {
  var sheet = e.source.getActiveSheet();
  var range = e.range;

  if (range.getColumn() == 1) {
    sheet.getRange(range.getRow(), 2).setValue(new Date());
  }
}

Si se introduce un valor en la columna A, el script inserta automáticamente la fecha y hora actuales en la columna B.

Ejemplos prácticos de automatización para profesionales

1. Formateo automático de informes

Muchos equipos exportan datos desde otros sistemas a Google Sheets. Una macro puede preparar esos datos para su presentación al instante mediante:

  • Fijar filas de encabezado
  • Aplicar estilos de fuente consistentes
  • Definir formatos numéricos
  • Ajustar el ancho de columnas

2. Scripts de limpieza de datos

Apps Script puede procesar miles de filas más rápido que la edición manual. Por ejemplo, los scripts pueden:

  • Eliminar filas duplicadas
  • Estandarizar la capitalización del texto
  • Reemplazar valores desactualizados
  • Combinar columnas en datos estructurados

3. Informes de resumen programados

Un activador basado en tiempo puede generar resúmenes automáticamente.

Ejemplo de flujo:

  • Cada mañana a las 8 AM
  • Calcular los totales del día anterior
  • Escribir el resumen en una hoja de panel o dashboard

Esto elimina la necesidad de cálculos manuales diarios.

4. Seguimiento automático de estado

En hojas de seguimiento de proyectos, los scripts pueden actualizar estados automáticamente.

Lógica de ejemplo:

  • Si la fecha límite es anterior a hoy
  • Y el estado no es «Completed»
  • Marcar la tarea como «Overdue»

Esto ayuda a los equipos a identificar rápidamente tareas retrasadas.

Buenas prácticas para la automatización en Google Sheets

Mantén los scripts simples

Las automatizaciones complejas pueden ser difíciles de mantener. Divide los scripts grandes en funciones más pequeñas siempre que sea posible.

Prueba con datos de ejemplo

Antes de ejecutar scripts en grandes conjuntos de datos, pruébalos con una muestra pequeña para confirmar que funcionan como esperas.

Usa nombres de funciones claros

Nombres como cleanCustomerData() o formatMonthlyReport() hacen que los scripts sean más fáciles de entender más adelante.

Documenta tus scripts

Añade comentarios que expliquen qué hace el script:

// Formats revenue column as currency
function formatRevenueColumn() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange("D:D").setNumberFormat("$#,##0.00");
}

Una documentación clara es especialmente importante en hojas de cálculo compartidas.

Errores comunes que debes evitar

  • Grabar macros con pasos innecesarios
  • Fijar números de fila en lugar de usar rangos dinámicos
  • Ejecutar scripts sin probarlos primero
  • Sobrescribir datos accidentalmente

Una planificación cuidadosa ayuda a garantizar que la automatización mejore la productividad en lugar de generar errores.

Cuándo usar macros vs Apps Script

Usa macros cuando:

  • Quieres una automatización rápida
  • La tarea implica formato o acciones simples
  • No se requieren conocimientos de programación

Usa Apps Script cuando:

  • La automatización requiere lógica o condiciones
  • Necesitas tareas programadas
  • Se requieren funciones personalizadas
  • Debes procesar grandes conjuntos de datos

En muchos flujos de trabajo, las macros son el punto de partida y Apps Script aporta las capacidades más avanzadas.

Reflexión final

La automatización en Google Sheets puede optimizar significativamente el trabajo diario. Al combinar macros y Apps Script, los profesionales pueden eliminar tareas repetitivas, reducir errores manuales y mantener flujos de trabajo consistentes.

Las macros ofrecen una forma sencilla de capturar y repetir acciones, mientras que Apps Script proporciona una potente personalización mediante código. Incluso automatizaciones pequeñas —como formatear informes o limpiar datos— pueden hacer que las hojas de cálculo sean más fáciles de gestionar y más fiables para la toma de decisiones.

Si realizas con frecuencia la misma secuencia de pasos en una hoja de cálculo, es un candidato ideal para la automatización. Empieza grabando una macro, explora el script generado y poco a poco crea flujos de trabajo más avanzados con Apps Script.

Con el tiempo, estas pequeñas mejoras crean un sistema de hojas de cálculo más eficiente y escalable.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll to Top