如何根据日期值将行移动到另一张工作表

时间:2019-07-23 07:27:24

标签: google-apps-script google-sheets

我想根据日期值将行移动到另一个选项卡。也就是说,如果数据比今天早90天,则Sheet1的行应自动转移到另一个Sheet2。

样本表:
https://docs.google.com/spreadsheets/d/18oBHEt6isDQspUBUQdsWaq5F6I2orLSJfj5lSt4-YL0/edit?usp=sharing

这是可能的,您能帮我编写此功能的脚本吗?

  

注意:我需要从Sheet1中完全删除该行。

1 个答案:

答案 0 :(得分:0)

将行排成90天

function moveRows90DaysOld() {
  var v=new Date().valueOf()-(1000 * 60 * 60 * 24 * 90);
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Sheet177');
  var tsh=ss.getSheetByName('Sheet178');
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  var d=0;
  for(var i=0;i<vA.length;i++) {
    if(new Date(vA[i][0]).valueOf()<v) {
      tsh.appendRow(vA[i]);
      sh.deleteRow(i+1-d++);
    }
  }              
}