我需要一个脚本来将Google工作表中的整行移动到同一电子表格/工作簿中的另一个工作表中,当N列为"时;MOVETIS";。
我正在使用这样的脚本:
function MoveToSheet() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("SOURCE");
var values = sheet.getRange(1, 14, sheet.getLastRow(), 1).getValues();
var moveRows = values.reduce(function(ar, e, i) {
if (e[0] == "MOVETHIS") ar.push(i + 1);
return ar;
}, []);
var targetSheet = ss.getSheetByName("DESTINATION");
moveRows.forEach(function(e) {
sheet.getRange(e, 1, 1, sheet.getLastColumn()).moveTo(targetSheet.getRange(targetSheet.getLastRow() + 1, 1));
});
moveRows.reverse().forEach(function(e) {sheet.deleteRow(e)});
}
起初它确实在工作,但后来它停止了工作。
也许最好使用另一个脚本,或者最好修复这个问题?
试试这个:
function MoveToSheet() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName("SOURCE");
const tsh = ss.getSheetByName("DESTINATION")
const vs = sh.getRange(1, 1, sh.getLastRow(), sh.getLastColumn()).getValues();
const o = vs.map(r => (r[13] == "MOVETHIS") ? r : '').filter(r => r !== '');
if(o && o.length>0) {
tsh.getRange(tsh.getLastRow() + 1, 1, o.length, o[0].length).setValues(o);
}
}
来源:
COL1 | COL8 | COL9 | COL10COL11 | COL17 | COL18 | COL19 | COL20COL21 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
7 | 4 | 8 | 2 | 1 | 17 | 18 | 7 | 7 | 19 | 7 | 2 | 18 | 3 | 11 | 13 | 2 | 1 | 15 | 7 | 9 | 13 | 14 | 5 | 10 | 2 | 14 | 19 | 13 | 13 | 3 | 9 | 18 | 9 | 0 | 15 | 17 | 0 | 12 | 19 | 14 | 7 | 7 | 10 | 11 | >td style="text align:left;;">9MOVETHIS | >td style="text-align:left;">13 | 5 | 15 | 2 | 9 | 14 | 5 | 18 | 3 | 5 | 16 | <10>05 | 18 left;">15 | 14 | 8 | 17 | 11 | 8 | 14 | 9 | 7 | 17 | 16 | 14 | 6 | 13 | 6 | 17 | 15 | 12 | 19 | 1 | 13 | 2 | 9 | 13 | <14>3 | 7 | 7 | 6 | 4 | 11 | 6 | 5 | 2 | 18 | 14 | 7 | 4 | 9 | 7 | 3 | 19 | 9 | 7 | 1 | 14 | 10 | 4 | 17 | 0 | 5 | 7 | 1 | 6 | 9 | 8 | 18 | 13 | 11 | 12 | 9 | 9 | 1 | 8 | 0 | 8 | 11 | 16 | 19 | 7 | 13 | 9 | 3 | 1 | ||||||||||||||
1 | 0 | 17 | 15 | 15 | 17 | 9 | 15 | 0 | 11 | 8 | 11 | 12 | 16 | 10 | 7 | 17 | 15 | 14 | 4 | 4 | 10 | MOVETHIS | 10 | 13 | 1 | 4 | 16 | 5 | 16 | 14 | 11 | 8 | 7 | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
8 | 19 | 10 | 12 | 13 | 3 | 9 | 5 | 9 | 9 | 5 | 7 | 0 | 16 | 10 | 11 | 13 |