Capítulo 3 Caso práctico: ordenar la tabla de ventas mensual ・ MISIÓN 11

Misión 11: Escribir la columna de resultado de una vez (setValues)

📋 Lista de misiones

Enunciado

Escribe «Grande» en la categoría de cada fila con un importe de 100.000 o más. En vez de escribir fila a fila, lee la columna de una vez y escríbela de una vez.

Ventas de octubre - Hojas de cálculo de Google
Ventas de octubre

Para practicar, la tabla vuelve a su estado inicial antes de cada ejecución (una hoja real no vuelve atrás. Los cambios de un script a veces se deshacen con Ctrl+Z, pero no todos de una vez).

Apps ScriptProyecto sin títuloImplementar ▾
function markLarge() {
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow();
const amounts = sheet.getRange(2, 4, lastRow - 1, 1).getValues();
const labels = amounts.map((row) => [row[0] >= 100000 ? 'Grande' : '']);
sheet.getRange(2, 5, , 1).(labels);
}
Ctrl+S: guardar · Ctrl+R: ejecutar (editor) · F5: volver a abrir

Capítulo 3 ・ MISIÓN 11

Escribir la columna de resultado de una vez (setValues)

Escribe «Grande» en la categoría de cada fila con un importe de 100.000 o más. En vez de escribir fila a fila, lee la columna de una vez y escríbela de una vez.

ahora
Objetivo

Cómo leer el código

sheet.getRange(2, 4, lastRow - 1, 1).getValues();
Lee de una vez lastRow - 1 filas y 1 columna (la de importes), empezando en la fila 2, columna 4.
amounts.map((row) => [row[0] >= 100000 ? 'Grande' : '']);
Crea una matriz con «Grande» para las filas de 100.000 o más y vacía para el resto. condición ? A : B es una forma de escribir if en una línea.
sheet.getRange(2, 5, labels.length, 1).setValues(labels);
Escribe labels de una vez en la columna E, tantas filas como tiene labels.

Leer de una vez con getValues, convertir fila a fila con map y escribir de una vez con setValues. Es más rápido que celda a celda; ni miles de filas te hacen esperar. Si el rango y la matriz tienen distinto número de filas, aparece el error «The number of rows in the data does not match …».

Cómo empezar con GAS y el código habitual están en un artículo.¿Qué es GAS? Cómo empezar y código habitual

El código que escribes se ejecuta en un espacio aislado dentro de esta página. No puede llegar fuera de la página ni a otros sitios.

* Esta es una simulación del comportamiento de Hojas de cálculo de Google y Apps Script y puede diferir en parte del original.

* Hojas de cálculo de Google es una marca de Google LLC. Este sitio no está afiliado a Google.