trucos sheets secuencia objetivo hoja google funcion ejemplos definicion comandos caracteristicas calculo buscar google-apps-script google-spreadsheet

google apps script - sheets - Hoja de cálculo de Google-Scripts, copie la celda de una hoja a otra hoja TODOS LOS DÍAS a una hora específica



secuencia de comandos google sheets (1)

Sé que podría estar preguntando lo mismo. Pero probé los guiones en diferentes respuestas (obviamente cambiando el valor de la celda) pero mi pregunta es un poco diferente.

Necesito hacer un script en Google Spreadsheet para copiar la celda de una hoja a otra (en el mismo documento) TODOS LOS DÍAS a una hora específica.

A continuación adjunto las imágenes que muestran las celdas desde donde copiar. Algunas células necesitan una fórmula SUMA antes de copiar.

También he compartido la copia de la hoja de google para mayor comodidad. https://docs.google.com/spreadsheet/ccc?key=0AlVSjrM0ckyLdEtiLVNuOVpwQ3BGdUgwU0VpcldKaFE&usp=sharing

Imágenes: Sheet1 y Sheet2 http://i59.tinypic.com/23jsu9x.jpg


Puede actualizar la matriz fromTo para incluir más rangos. La secuencia de comandos es bastante autoexplicativa. Configure el disparador para ejecutar la backup todos backup días. Es posible que desee cambiar GMT a su zona horaria.

function backup() { var src = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Daily Report"); var dst = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Monthly Production Report"); var dstRow = getDstRow(dst); var fromTo = [["B26", 2], ["C26", 3], ["B29:B31", 4], ["C29:C31", 5], ["B34", 6], ["C34", 7]]; for (var i=0; i<fromTo.length; i++) { var r = fromTo[i]; dst.getRange(dstRow, r[1]).setValue(src.getRange(r[0]).getValues().reduce(sum, 0)); } } function getDstRow(dst) { var today = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd"); Logger.log(today); for (var row=1; row<=dst.getLastRow(); row++) { Logger.log(dst.getRange(row,1).getValue()); try { var d = Utilities.formatDate(dst.getRange(row, 1).getValue(), "GMT", "yyyy-MM-dd"); if (d == today) { return row; } } catch (err) {} } } function sum(a,b) { return a + b; }