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)
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.
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).
Archivo +
Código.gs
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.
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.