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;
}