首页 > 解决方案 > 根据谷歌表格中的列值移动行

问题描述

编辑代码:

function archiveRow(){

var from = SpreadsheetApp.openById('###').getSheetByName('archive');

var to = SpreadsheetApp.openById('###').getSheetByName('archive archive');

var values = from.getDataRange().getValues();

var lastRow = from.getLastRow();

var olderthan = new Date().setDate(new Date().getDate() - 9);

for(var row=lastRow;row>1;row--)

{

var timestamp = new Date('A'+row);

if(timestamp.valueOf() < olderthan.valueOf())

{

to.appendRow(values[row]);

from.deleteRow(values[row]);

}

}

}

我正在尝试根据列 A 'Timestamp' 将一些行从一个电子表格移动到另一个电子表格。因此,如果 Timestamp 值距今天超过 90 天,则应从电子表格“存档”中删除该行并附加到电子表格“存档存档”中。我正在为编码而苦苦挣扎。这是我到目前为止所拥有的。

function testArchive() {

var moveFrom = SpreadsheetApp.openById('###').getSheetByName('archive')

var moveRows = SpreadsheetApp.openById('###').getSheetByName('archive archive')

var col = 1;

var valueToWatch = Date()-90;

var moveFromLastRow = moveFrom.getLastRow();

var moveRowsLastRow = moveRows.getLastRow();

for(var row=moveFromLastRow;row>1;row--){

var values = moveFrom.getRange('A2:Y').getValues();

if (col[row] < valueToWatch){

moveRows.appendRow(values[row]);

}

}

}

我查看了基于单元格值将行移动到其他工作表,这对我不起作用,因为我不希望函数在编辑上运行。

标签: google-apps-script

解决方案


推荐阅读