Obtener ayuda

Centro de ayuda

Guías y respuestas

Contactar con el servicio de asistencia

Escribir a nuestro equipo

Iniciar sesión en

Workflows

Crear procesos con su equipo

Automations

Conectar archivos y automatizar tareas

Un sistema, cuatro partes

Agentes de IA

Empleados virtuales que trabajan 24/7

Automations

Conectar archivos y automatizar tareas

Workflows

Crear procesos con su equipo

Data Space

Datos compartidos y controlados con confianza

Soluciones por departamento

Finanzas

Informes, presupuestos y conciliaciones

Inventario y fabricación

Existencias, pedidos y producción en una sola vista

RRHH

Hojas de horas, asistencia y evaluaciones

Gestión de proyectos

Estado y carga de trabajo de todos los proyectos

Ventas y CRM

Leads y oportunidades al día

Educación

Expedientes de alumnos y datos escolares

Finanzas

Convierta el trabajo financiero manual en informes que se actualizan solos.

Qué automatizan los equipos de Finanzas

  • Controlar cuentas por pagar y cobrar
  • Crear estados de flujo de caja
  • Comparar presupuesto y resultados reales

Inventario y fabricación

Vea los niveles de existencias y automatice los pedidos.

Qué automatizan los equipos de inventario y fabricación

  • Controlar el inventario en varias sedes
  • Conectar datos de ventas, compras y almacén
  • Vincular un lector de códigos de barras a su hoja

RRHH

Gestione la contratación, la asistencia y el seguimiento de OKR desde sus hojas.

Qué automatizan los equipos de RRHH

  • Controlar contratación e incorporación
  • Registrar los OKR y resultados del equipo
  • Controlar entradas, salidas y ausencias

Gestión de proyectos

Asigne tareas y controle las horas sin actualizaciones manuales.

Qué automatizan los equipos de proyectos

  • Asignar tareas y seguir los cambios de estado
  • Estimar el esfuerzo y registrar las horas trabajadas
  • Seguir los hitos de todos los proyectos

Ventas y CRM

Siga los leads y el rendimiento de ventas con informes automáticos.

Qué automatizan los equipos de ventas

  • Seguir y convertir leads
  • Fijar objetivos de ventas y seguir las métricas del equipo
  • Supervisar los KPI de ventas en tableros

Educación

Automatice asistencia, calificaciones y compras escolares.

Qué automatizan los centros educativos

  • Controlar la asistencia y avisar a los padres
  • Registrar y comparar las notas de clase
  • Controlar el material prestado a alumnos y personal

Buscar un caso de uso

Por departamento

Cómo usa Sheetgo cada equipo

Por sector

Cómo usa Sheetgo cada sector

Por tamaño de empresa

Pequeña, mediana o grande

Aprende

Blog

Guías y novedades del producto

Historias de clientes

Cómo usan Sheetgo equipos como el suyo

Centro de ayuda

Guías y respuestas

Por qué Sheetgo

Comparar

Cómo se compara Sheetgo con otras herramientas

Seguridad

Cómo protegemos sus datos

Centro de confianza

Detalles de cumplimiento

Iniciar sesión en

Workflows

Crear procesos con su equipo

Automations

Conectar archivos y automatizar tareas

Un sistema, cuatro partes

Agentes de IA

Empleados virtuales que trabajan 24/7

Automations

Conectar archivos y automatizar tareas

Workflows

Crear procesos con su equipo

Data Space

Datos compartidos y controlados con confianza

Soluciones por departamento

Finanzas

Informes, presupuestos y conciliaciones

Inventario y fabricación

Existencias, pedidos y producción en una sola vista

RRHH

Hojas de horas, asistencia y evaluaciones

Gestión de proyectos

Estado y carga de trabajo de todos los proyectos

Ventas y CRM

Leads y oportunidades al día

Educación

Expedientes de alumnos y datos escolares

Buscar un caso de uso

Por departamento

Cómo usa Sheetgo cada equipo

Por sector

Cómo usa Sheetgo cada sector

Por tamaño de empresa

Pequeña, mediana o grande

Empezar

Plantillas

Flujos de trabajo listos para usar

Aprende

Blog

Guías y novedades del producto

Historias de clientes

Cómo usan Sheetgo equipos como el suyo

Centro de ayuda

Guías y respuestas

Por qué Sheetgo

Comparar

Cómo se compara Sheetgo con otras herramientas

Seguridad

Cómo protegemos sus datos

Centro de confianza

Detalles de cumplimiento

Centro de ayuda

Guías y respuestas

Contactar con el servicio de asistencia

Escribir a nuestro equipo

Workflows

Crear procesos con su equipo

Automations

Conectar archivos y automatizar tareas

¿Cómo utilizar Google Apps Script en Google Sheets? [2026 tutorial para principiantes]

Este artículo te enseñará a utilizar Google Apps Script en Google Sheets. Compartiremos ejemplos de scripts y cómo afectan a las hojas de cálculo. También explicaremos algunos conceptos clave como las funciones personalizadas y los tipos de datos.

¡Vamos a ello!

Principales conclusiones:

  • En Google Sheets, Apps Script puede utilizarse para automatizar la introducción de datos, generar informes y limpiar y dar formato a los datos, entre otras cosas.
  • Para utilizar Google Apps Script en Google Sheets, ve a Extensión > Apps Script y escribe o pega tu código.
  • Los conceptos clave en Apps Script incluyen funciones personalizadas, disparadores, propiedades y métodos, servicios de Apps Script, manejo de errores y bibliotecas.

¿Qué es Google Apps Script?

Google Apps Script es una plataforma basada en la nube que te permite crear tus propios programas para trabajar con tus aplicaciones de Google (como Gmail, Docs y Sheets). Estos programas realizan tareas automáticamente. Pueden enviar correos electrónicos u organizar datos. También pueden añadir nuevas funciones a tus aplicaciones, como menús o botones personalizados.

Google Apps Script utiliza un lenguaje de programación sencillo llamado JavaScript. Sin embargo, no necesitas ser un programador experto para escribirlo.

Así de sencillo funciona Google Apps Scripts:

  1. Escriba instrucciones sencillas (código) en el editor Apps Script.
  2. Los servidores de Google leen tus instrucciones y realizan las tareas que deseas.
  3. Los resultados aparecen en tus aplicaciones de Google. Estos resultados pueden ser nuevos menús, tareas automatizadas o aplicaciones personalizadas.

Ahora, ¿cómo utilizar Apps Script en Google Sheets?

Apps Script Google Sheets — editor con un proyecto nuevo sin título y una función myFunction vacía en Code.gs

¿Cómo utilizar Google Apps Script en Google Sheets?

  1. Abre tu hoja de cálculo de Google.
  2. Haga clic en “Extensiones“ en la barra de menú y seleccione “Apps Script”. Esto abrirá una nueva pestaña con el editor de Apps Script.
Apps Script Google Sheets — menú Extensiones abierto con Apps Script resaltado en una hoja de cálculo en blanco

3. Verás Code.gs. Este es el archivo principal donde escribirás tu código JavaScript. Se encuentra en el menú “Editor”.

Google Apps Script en Google Sheets — archivo Code.gs resaltado en el editor con una función vacía

4. Escriba o pegue su código. Puede que necesites aprender Javascript para saber cómo escribir código, o que puede generar código con Gemini o ChatGPT. Pero aquí está el script que usaremos para este tutorial:

function sendEmails() {
const sheet = SpreadsheetApp.getActiveSheet();
const data = sheet.getDataRange().getValues(); // Obtener todos los datos
const headers = data.shift(); // Quitar y guardar los encabezados
for (let i = 1; i < data.length; i++) {
const row = data[i];
const emailAddress = row[headers.indexOf("Email")]; // Obtener el correo de la columna
const subject = "Automated Email"; // Personalizar el asunto
const message = `Hello ${row[headers.indexOf("Name")]}, this is an automated email from Google Sheets.`; // Personalizar el mensaje
if (emailAddress) { // Comprobar si existe el correo
MailApp.sendEmail({
to: emailAddress,
subject: subject,
body: message
});
}
}
}
Google Apps Script en Google Sheets — función sendEmails pegada en Code.gs que envía un correo por cada fila

¿Cuál es el escenario detrás de este script? Supongamos que tenemos una lista de contactos en una hoja de Google y queremos utilizarla para una campaña básica de correo electrónico. El script obtendrá todos los datos necesarios, como el correo electrónico y el nombre, para redactar y enviar correos electrónicos.

Apps Script Google Sheets — hoja Email Campaign con las columnas Email, Name y Other Data

5. Haga clic en el botón “Guardar”para guardar el script.

Apps Script Google Sheets — icono de guardar proyecto resaltado sobre el código de sendEmails

6. En la esquina superior izquierda, cambie el nombre del proyecto y haga clic en “Ejecutar.” El script enviará correos electrónicos a todas las direcciones de su hoja.

Apps Script Google Sheets — proyecto renombrado como Email Campaign con el botón Ejecutar resaltado

7. Los scripts de Apps Script requieren autorización para acceder a los datos de Google Sheets. Se te pedirá que concedas estos permisos cuando ejecutes un script.

Permisos de Apps Script — cuadro de diálogo Se necesita autorización con el botón Revisar permisos

8. También puede configurar un activador para que el script se ejecute automáticamente según una programación (por ejemplo, diaria o semanal). Para ello, pase el ratón por encima de los iconos de la izquierda y haga clic en “Disparadores.”

Activador de Apps Script — el registro de ejecución muestra que la ejecución se completó, con Activadores resaltado en el menú

9. Haga clic en el botón “+ Añadir activador”.

Activador de Apps Script — página de Activadores vacía con el botón Añadir activador resaltado

10. Vaya a la fuente de eventos y seleccione “En función del tiempo.”

Activador de Apps Script — cuadro de diálogo Añadir activador con Según tiempo seleccionado como origen del evento

11. Seleccione un tipo basado en el tiempo.

Activador de Apps Script — lista de tipos de activador basado en tiempo con el temporizador de minutos resaltado
  • Fecha y hora concretas: Para un disparo único.
  • Temporizador de minutos: Ejecutar a un intervalo especificado en minutos (por ejemplo, cada 15 minutos).
  • Temporizador horario: Ejecutar a un intervalo especificado en horas (por ejemplo, cada 3 horas).
  • Cronómetro de día: Funcionar diariamente a una hora determinada.
  • Cronómetro semanal: Correr en días concretos de la semana a una hora concreta.
  • Temporizador mensual: Para funcionar en días concretos del mes a una hora determinada.

12. Pulsa “Guardar.” El activador está ahora activo.

Activador de Apps Script — sendEmails configurado para ejecutarse cada 15 minutos con el botón Guardar resaltado

Aquí está el correo electrónico que recibí después de ejecutar el script.

Google Apps Script en Google Sheets — bandeja de entrada de Gmail con el correo Automated Email enviado por el script

Ya está. Ya sabes cómo utilizar Google Apps Script en Google Sheets. Pero vamos a discutir más casos de uso y ver cómo Apps Script mejora las hojas de cálculo.

Ejemplos prácticos de Apps Scripts en acción

1. Automatizar la introducción de datos

Puedes utilizar Google Apps Scripts en Google Sheets para automatizar la introducción de datos.

La introducción manual de datos es propensa a errores tipográficos. Con automatización, De este modo, se reducen las posibilidades de que se produzcan errores humanos. Apps Script puede extraer datos de otras fuentes (como sitios web, formularios o correos electrónicos) e introducirlos automáticamente en la hoja de cálculo. 

Digamos que recibes por correo electrónico recibos de gastos de empresa. Apps Script puede escanear esos correos, extraer los números relevantes (fecha, importe, categoría) y organizarlos ordenadamente en tu hoja de cálculo de seguimiento de gastos.

Escribamos y expliquemos un guión:

function extractExpensesFromEmails() {

// 1. Obtener los correos no leídos con recibos
var label = GmailApp.getUserLabelByName("Receipts"); // Cambia "Receipts" si tu etiqueta es distinta
var threads = label.getThreads(0, 5); // Obtener los 5 primeros hilos no leídos

// 2. Procesar cada correo
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
for (var j = 0; j < messages.length; j++) {
var message = messages[j];

// 3. Extraer los datos del gasto (es un ejemplo simplificado)
var body = message.getBody();
var amountMatch = body.match(/\$\d+\.\d{2}/); // Buscar importes en $
var dateMatch = body.match(/\d{2}\/\d{2}\/\d{4}/); // Buscar fechas MM/DD/YYYY

// 4. Si se encuentran, añadir a la hoja de cálculo
if (amountMatch && dateMatch) {
var amount = amountMatch[0];
var date = dateMatch[0];
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.appendRow([date, amount, message.getSubject()]); // Ajusta las columnas según necesites
}
}

// 5. Marcar el correo como leído
threads[i].markRead();
}
}

Google Apps Script en Google Sheets — script extractExpensesFromEmails leyendo los recibos de Gmail

¿Qué significa este guión?

Suponemos que tiene una etiqueta de Gmail llamada “Recibos” donde almacena los correos electrónicos de gastos. El script recupera las 5 primeras conversaciones no leídas de esa etiqueta. Recorre cada hilo y sus mensajes individuales (correos electrónicos).

A continuación, extrae los detalles del gasto. Tenga en cuenta que hemos simplificado mucho esta parte. El script asume un formato específico para los gastos en el cuerpo del correo electrónico (por ejemplo, “$15.99” y “07/25/2024”).

A continuación, si el script encuentra tanto el importe como la fecha, obtiene la hoja de cálculo activa y añade una nueva fila con los datos extraídos (y el asunto del correo electrónico como referencia).

Google Apps Script en Google Sheets — hoja Business Expenses con fechas, importes y proveedores

Por último, tras el procesamiento, el script marca el hilo de correo electrónico como leído para evitar duplicados.

Nota: Nuestro script es simplificado. La exactitud de los datos depende totalmente del formato del correo electrónico y de la capacidad del script para analizarlo correctamente. Además, es posible que tenga columnas adicionales en su rastreador de gastos real (por ejemplo, categoría, método de pago).

2. Generar informes

También puedes utilizar Google Apps Script en Google Sheets para generar informes.

Piensa en esos tediosos informes que tienes que hacer, tal vez resúmenes de ventas, actualizaciones de proyectos o calificaciones de estudiantes. Apps Script puede simplificar este proceso extrayendo los datos de una hoja de Google o de otros lugares. 

Digamos que haces un seguimiento de tus ventas semanales en una hoja de Google. Apps Script puede:

  1. Coge las últimas cifras de ventas de tu hoja.
  2. Calcule las ventas totales, las ventas por producto e incluso el crecimiento con respecto a la semana pasada.
  3. Hacer un gráfico circular o gráfico de líneas informe y un resumen.
  4. Envía el informe por correo electrónico a tu jefe todos los lunes por la mañana.

Lo configuras una vez y Google Apps Script se encarga del resto, semana tras semana.

He aquí un ejemplo de script, que explicaremos a continuación.

function generateSalesReport() {

  // Obtener los datos de ventas

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("WeeklySales");

  var data = hoja.getDataRange().getValues();

  // Calcular las ventas totales y las ventas por producto

  var ventastotal = 0;

  var ventasPorProducto = {};

  for (var i = 1; i < data.length; i++) { // Saltar fila de cabecera

    var product = datos[i][1];

    var ventas = datos[i][2];

    totalVentas += ventas;

    ventasPorProducto[producto] = (ventasPorProducto[producto] || 0) + ventas;

  }

  // Crear el informe

  var informe = "<h2>Informe semanal de ventas</h2>\n\n";

  informe += "<p>Ventas totales: $" + totalSales.toFixed(2) + "</p>\n\n";

  informe += "<h3>Ventas por producto:</h3>\n\n";

  for (var product in ventasPorProducto) {

    informe += "<p>" + product + “: $” + salesByProduct[product].toFixed(2) + "</p>\n\n";

  }

  // Enviar el correo electrónico

  var emailSubject = "Informe semanal de ventas";

  var emailBody = informe;

  MailApp.sendEmail(“YOUR_EMAIL_ADDRESS”, emailSubject, “”, {htmlBody: emailBody}); // Incluya su dirección de correo electrónico

}

Google Apps Script en Google Sheets — función generateSalesReport en el editor de Apps Script

Lectura recomendada: Las 5 mejores plantillas de ventas de Google Sheets

¿Qué significa este guión?

El script obtiene todos los valores de la hoja “WeeklySales”. Recorre los datos y calcula las ventas totales y las ventas por producto. A continuación, crea un informe HTML con los datos calculados. Por último, el script utiliza MailApp.sendEmail para enviar el informe por correo electrónico.

MailApp.sendEmail

Aquí hay una hoja de Google agrupando todas las ventas:

Apps Script Google Sheets — hoja WeeklySales con las columnas Week, Product y Sales

Este es el aspecto del informe semanal de ventas totales en el correo electrónico:

Google Apps Script en Google Sheets — gmail con el Weekly Sales Report y los totales por producto

Nota: Este es un script simplificado. Cambie “WeeklySales” si su hoja tiene un nombre diferente. Sustituya “YOUR_EMAIL_ADDRESS” por la dirección de correo electrónico real del destinatario.

3. Limpiar y formatear los datos

Limpiar y dar formato a los datos es otra forma de utilizar Apps Scripts en Google Sheets.

Imagina que tienes una hoja de cálculo desordenada llena de información sobre clientes. Puede que algunos nombres tengan espacios de más, que las fechas tengan formatos diferentes o que algunas celdas contengan errores tipográficos. Limpiar esto manualmente sería un verdadero dolor de cabeza. Aquí es donde Apps Scripts vienen a salvar el día.

Puedes utilizar las secuencias de comandos de Google Apps para analizar tus datos y encontrar y solucionar problemas específicos, como:

  • Espacios extra: Elimina automáticamente los espacios sobrantes antes y después de los nombres.
  • Formatos incorrectos: Cambia las fechas de “29/07/2024” a “29 de julio de 2024” para que todo coincida.
  • Errores tipográficos: Si el nombre de un producto está mal escrito, el script puede corregirlo.

También puedes utilizar Google Apps Scripts para organizar información y combinar o dividir datos.

Vamos a crear un Javascript para este ejemplo.

Imagine que tiene una hoja de Google con pedidos de clientes. Cada fila contiene información como el ID del pedido, el nombre del cliente, el producto, la cantidad y la fecha del pedido. Desea organizar los pedidos por fecha, con los pedidos más recientes en la parte superior.

Nuestro guión podría ser algo así:

function sortSheetByDate() {

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  var range = sheet.getRange(“A2:E26”); // Ajuste el rango para cubrir sus datos

  // Obtener los datos

  var data = range.getValues();

  // Comprueba si las fechas están en formato objeto Date y conviértelas en cadenas

  data.forEach(function(fila) {

    if (Object.prototype.toString.call(row[4]) === '[object Date]') {

      fila[4] = Utilities.formatDate(fila[4], SpreadsheetApp.getActiveSpreadsheet().getSpreadsheetTimeZone(), 'dd/MM/aaaa');

    }

  });

  // Parsear las fechas correctamente y ordenar

  data.sort(function(a, b) {

    var dateA = new Date(a[4].split(‘/’).reverse().join(‘-‘));

    var dateB = new Date(b[4].split(‘/’).reverse().join(‘-‘));

    return fechaB - fechaA; // Ordenar de más reciente a más antiguo

  });

  // Devuelve los datos ordenados a la hoja

  range.setValues(datos);

}

Apps Script Google Sheets — función sortSheetByDate en Code.gs que ordena las filas por fecha

¿Qué significa este guión?

El script encuentra el orden de la información que desea clasificar. A continuación, toma cuidadosamente toda la información de cada formulario de pedido - nombre del cliente, fecha del pedido, etc. - y la coloca en celdas separadas. Aquí es donde ocurre la magia. El script mira cada fecha de pedido y encuentra qué pedidos son más recientes y cuáles son más antiguos.

Datos con fechas no ordenadas cronológicamente:

Apps Script Google Sheets — hoja Customer Orders con las fechas de pedido sin ordenar

Datos con fechas en orden cronológico después de utilizar el script:

Apps Script Google Sheets — hoja Customer Orders después de que el script la ordenara por fecha, de la más reciente a la más antigua

Conceptos esenciales de Apps Script que debes conocer y utilizar en Google Sheets

1. Funciones personalizadas

Las funciones personalizadas permiten crear funciones propias que se pueden utilizar directamente en Google Sheets, al igual que las funciones integradas (SUM, MEDIA, etc.). Estos funciones están escritas en JavaScript dentro de Apps Script y pueden realizar diversas tareas, desde cálculos sencillos hasta complejas manipulaciones de datos.

He aquí un ejemplo de función personalizada:

function DOUBLE(entrada) {

  devolver entrada * 2;

}

Esta función personalizada duplica los números de una celda. Después de añadir la función personalizada al Editor de secuencias de comandos, vuelva a la hoja de cálculo.

Digamos que la celda A1 contiene el número 580.

  • Escriba =DOUBLE(A1) en la celda B1.

=DOUBLE(A1)

  • Google Sheets ejecuta tu función, dándole el valor 1160 en la celda B1.
  • La función calcula 580 * 2 = 1160.
  • La celda B1 muestra el resultado: 1160.
Función personalizada de Apps Script — celdas A1 y B1 de la hoja de cálculo con los valores 580 y 1160 resaltados

Diferencia entre una función personalizada y un código general que escribes en Google Apps Script

La principal diferencia entre una función personalizada y cualquier otro código reside en la forma de utilizarlas y llamarlas dentro de Hojas de cálculo de Google.

Un código de función personalizado debe devolver un valor, como:

return entrada * 2;.

Una función no puede modificar ninguna parte de la hoja de cálculo ni desencadenar ninguna otra acción. Sólo puede calcular y devolver un resultado basado en sus entradas.

Además, para utilizar una función personalizada, debe introducir el código =functionName() en una celda en la hoja de cálculo, como:

 =DOUBLE(A1)

2. Disparadores

Si quieres utilizar Google Apps Script en Google Sheets, también deberás conocer los activadores.

Imagina que tienes una tarea en Google Sheets que debería realizarse automáticamente, sin que tengas que pulsar ningún botón. Ahí es donde entran en juego los activadores. Un activador es como un pequeño despertador que configuras en el código de tu Apps Script. Indica al script que se despierte y ejecute una parte específica del código cuando se produzca un evento concreto en la hoja de cálculo.

Puede personalizar los desencadenantes para que se ejecuten cuando se abra una hoja, se edite una celda, se envíe un formulario o incluso en una fecha y hora determinadas.

Activador de Apps Script — lista de tipos de evento De la hoja de cálculo con Al abrir, Al editar, Al cambiar y Al enviar el formulario

También puedes utilizar disparadores para mantener los datos actualizados. Por ejemplo, un desencadenante podría extraer automáticamente las cotizaciones bursátiles o la información meteorológica más recientes. 

Si prefieres ejecutar un script tú mismo con un solo clic, puedes asignarlo a un botón en Google Sheets.

3. Propiedades y métodos

Las propiedades y los métodos permiten modificar el funcionamiento de las Hojas de cálculo de Google. Puedes escribir secuencias de comandos que formateen automáticamente las celdas o desplacen los datos. Por ejemplo, en lugar de cambiar manualmente el color de cientos de celdas, tu script puede hacerlo al instante.

Piensa en las propiedades como los rasgos o atributos de un objeto. En Google Sheets, esto podría ser:

  • El color de fondo de una celda:

cell.getBackground()

  • El valor dentro de una celda:

cell.getValue()

  • El tamaño de letra del texto:

 cell.getFontSize()

Puede averiguar el valor actual de una propiedad o establecerlo para cambiar su aspecto o comportamiento.

Los métodos, sin embargo, son como los verbos o acciones que un objeto puede realizar. Por ejemplo, una celda en Google Sheets puede:

  • Cambia su contenido:

cell.setValue(“¡Hola!”)

  • Despejarse completamente:

cell.clearContent()

  • Fusionar con celdas vecinas:

cell.mergeAcross()

Se “llama” a un método para que suceda. Es como dar una instrucción.

He aquí un sencillo ejemplo de script:

function formatImportantCells() {

  var hoja = SpreadsheetApp.getActiveSheet();

  var range = hoja.getRange(“A1:B10”); // Obtener un grupo de celdas

  var cells = range.getCells(); // Obtener celdas individuales

  for (var i = 0; i < longitud.celdas; i++) {

    if (cells[i].getValue() > 100) { // Comprueba el valor

      cells[i].setBackground(“yellow”); // Establecer una propiedad (color)

    }

  }

}

Google Apps Script en Google Sheets — función formatImportantCells que colorea de amarillo las celdas con valores superiores a 100

Este script comprueba los valores de las celdas A1 a B10. Si un valor es superior a 100, el script vuelve amarillo el fondo de la celda.

Resumiendo:

  • Las propiedades se describen: Te informan sobre el estado actual de las cosas.
  • Los métodos sí: Hacen que las cosas sucedan.
  • Notación por puntos: Se utiliza un punto para acceder a propiedades y métodos (por ejemplo, cell.getValue()).

cell.getValue()

4. 4. Tipos de datos

Los tipos de datos son otro concepto que debes aprender para utilizar Google Apps Script en Google Sheets.

Los tipos de datos son etiquetas que indican a Apps Script con qué tipo de información está tratando. Del mismo modo que distingues entre manzanas y naranjas, Apps Script necesita saber si está trabajando con números, texto, fechas u otros tipos.

Pero, ¿por qué importan los tipos de datos en las Hojas de cálculo de Google?

Hay al menos tres razones:

  1. Cálculos correctos: Imagina que estás sumando gastos. Si Apps Script piensa que tus números son en realidad texto, obtendrás resultados extraños. Los tipos de datos garantizan que los cálculos se realicen con precisión.
  2. Formato adecuado: Quieres que tus fechas parezcan fechas y que tus números de teléfono se comporten como números de teléfono. Los tipos de datos te ayudan a controlar cómo se muestran y utilizan las cosas en tu hoja de cálculo.
  3. Prevención de errores: Si intentas usar una fecha como si fuera un número, Apps Script podría marcar un error. Conocer los tipos de datos correctos te ayudará a evitar estos contratiempos y a escribir código que funcione sin problemas.

Supongamos que realizas un seguimiento de las ventas y tienes una columna en Google Sheets con el número de artículos vendidos. Cuando se utiliza Apps Script para calcular las ventas totales, tiene que entender que esta columna contiene números, no sólo caracteres aleatorios.

Por ejemplo, el script siguiente menciona el tipo de datos:

if (valueType === "number") {

He aquí el desglose:

  1. valorTipo: Esta variable almacena el resultado de typeof value. El operador typeof es una función de JavaScript que indica directamente el tipo de datos de una variable.
  2. === "número": Esta comparación comprueba si el valueType es estrictamente igual a la cadena “number”. Si lo es, el script sabe que se trata de un valor numérico y procede a sumarlo al totalVentas.

Acabamos de cubrir algunos conceptos o términos de Apps Scripts. Sin embargo, hay más, como Apps Script Services, Error Handling y Libraries.

Consejos y buenas prácticas para Apps Script

1. Aprender Javascript

Aprender JavaScript te proporciona una base sólida para comprender el funcionamiento de Google Apps Script. Te resultará mucho más fácil descifrar código que encuentres en Internet, solucionar problemas de tus propios proyectos y escribir scripts más avanzados.

Una vez que conozcas los fundamentos de JavaScript, podrás manipular datos de forma realmente inteligente e interactuar con otros servicios de la web.

Además, JavaScript es un lenguaje muy utilizado, por lo que tus nuevos conocimientos no se desperdiciarán. Puedes aplicarlos a otros proyectos más allá de Google Apps Script. Por ejemplo, puedes crear sitios web sencillos o incluso trabajar en proyectos complejos de desarrollo web.

2. Escribir código eficiente y fácil de mantener

Tu código es como una receta, y una buena receta es:

  • Eficiente: No desperdicia ingredientes ni tiempo. El código eficiente se ejecuta más rápido y utiliza menos de su cuota de Apps Script (el límite de lo que pueden hacer sus scripts).
  • Mantenible: Es fácil de entender y actualizar más adelante. Un código fácil de mantener te ahorrará dolores de cabeza cuando tengas que hacer cambios en el futuro.

Aquí tienes algunos consejos adicionales para Google Apps Script:

  1. No llames a tus variables “x” o “temp”. Elige nombres que describan lo que almacenan. Por ejemplo, en lugar de “data”, usa “customerNames” o “orderDates”.”
  2. Divida el código en funciones más pequeñas y reutilizables. Lo ideal es que cada función realice una tarea específica. De este modo, el código estará más organizado y será más fácil de probar.
  3. Las cosas no siempre salen según lo planeado. Utiliza bloques “try...catch” para capturar errores con elegancia, lo que evita que tu script se bloquee inesperadamente. 
  4. Si te encuentras escribiendo el mismo código varias veces, crea una función para ello. Este principio se denomina “No te repitas” (DRY).

3. Depurar inteligentemente

En Google Apps Script, los bugs son errores o comportamientos inesperados en tu código. La depuración es el proceso de encontrar y corregir estos problemas.

Cuando Apps Script encuentra un problema, normalmente muestra un mensaje de error. Este mensaje es la primera pista. A menudo le indica qué ha fallado. Sabrás si usaste una variable que no existe, dividiste por cero, o algo más. También sabrás dónde ha ido mal, como la línea de código que causa el problema.

Apps Script Google Sheets — error TypeError resaltado en el registro de ejecución para generateSalesReport

Apps Script tiene un depurador incorporado. Es como una versión más potente de “console.log()”. Puedes pausar tu código, recorrerlo línea por línea e inspeccionar variables en tiempo real.

Digamos que tienes este código:

function calcularArea(longitud, anchura) {

  var area = largo * ancho;

  console.log(“El área es: ” + área); 

}

calculateArea(10,); // Observa que falta el argumento para la anchura

Lo ejecutas y se bloquea con un error: “TypeError: No se puede leer la propiedad ‘*’ de undefined”. ¿Qué ocurre?

  1. Lee el error: Dice que estás intentando utilizar el operador ‘*’ (multiplicación) en algo indefinido.
  2. Comprueba el código: Te das cuenta de que olvidaste pasar un valor para el argumento “anchura”.

Soluciona el error: Cambia la última línea por:

calcularÁrea(10, 5);

Uso de secuencias de comandos de Google Apps para mejorar Google Sheets

Enhorabuena. Acabas de desbloquear el poder de Apps Script dentro de Google Sheets. En este artículo, hemos visto algunos casos de uso práctico y hemos compartido ejemplos de secuencias de comandos. Ahora estás totalmente equipado para utilizar Google Apps Script en Google Sheets.

Al automatizar tareas, personalizar funciones e incluso crear aplicaciones web interactivas, estás en el buen camino para convertirte en un ninja de las hojas de cálculo. Sigue aprendiendo, sigue creando secuencias de comandos y sigue ampliando las posibilidades de Google Sheets.

Qué hacer a partir de aquí

Cuando tu primer script funcione, estos son buenos pasos siguientes, más o menos en este orden:

  • Los activadores, que ejecutan un script según una programación, cuando alguien edita la hoja o cuando llega la respuesta de un formulario.
  • Los menús personalizados, para que tus compañeros ejecuten un script desde la barra de menús de Google Sheets sin abrir el editor.
  • Las funciones personalizadas, como =DOUBLE(A1), que funcionan como las fórmulas integradas.
  • UrlFetchApp, que trae a tu hoja datos de otros servicios y API.

La referencia de Apps Script de Google documenta cada servicio y método, y su guía para ampliar Google Sheets incluye ejemplos que puedes copiar. Si prefieres no escribir código para una tarea sencilla, también puedes grabar una macro en Google Sheets y Apps Script la guarda como un script que podrás editar más tarde.

PREGUNTAS FRECUENTES

¿Cómo añadir un editor de secuencias de comandos a Google Sheets?

El editor de secuencias de comandos está integrado en Google Sheets. No es necesario añadirlo por separado.

¿Cómo abrir el editor de secuencias de comandos en Google Sheets?

Vaya a Extensiones > Apps Script. Esto abrirá el Editor de Script en una nueva pestaña.

¿Dónde está el editor de secuencias de comandos en Google Sheets?

El editor de secuencias de comandos no se encuentra físicamente dentro de la hoja de cálculo de Google. Se abre en una pestaña o ventana independiente cuando se accede a él a través del menú Extensiones. Ve a Extensiones > Apps Script.

¿Google Apps Script es gratis?

Sí. Apps Script es gratuito con cualquier cuenta de Google y no necesitas un plan de pago para usar scripts en Google Sheets. Lo que hay son cuotas: un script puede ejecutarse hasta 6 minutos seguidos, y los activadores de una cuenta de Google gratuita disponen de 90 minutos de ejecución total al día. Las cuentas de Google Workspace tienen cuotas más altas.

También te puede gustar...

funciones y fórmulas de google sheets

Las 5 mejores fórmulas de matrices dinámicas de Google Sheets 

Google Sheets ha evolucionado más allá de las hojas de cálculo básicas. Con la introducción de fórmulas de matriz dinámica, los usuarios ahora pueden manipular y analizar...
funciones y fórmulas de google sheets

Dominio de la fórmula FILTER: 4 casos de uso con ejemplos

La fórmula FILTRO de Google Sheets es una herramienta versátil para extraer datos que cumplen unas condiciones específicas. A diferencia de la fórmula QUERY,...
funciones y fórmulas de google sheets

Cómo liberar el poder de SUMIF y SUMIFS en Google Sheets: 4 casos de uso reales

Las fórmulas SUMIF y SUMIFS de Google Sheets son herramientas indispensables para realizar sumas condicionales. Simplifican las complejas...