Google apps script 我需要一个脚本,删除一段时间后的行

Google apps script 我需要一个脚本,删除一段时间后的行,google-apps-script,google-sheets,Google Apps Script,Google Sheets,是否可以制作一个脚本来删除电子表格中超过3周的响应 这是我尝试的脚本,但没有成功: function duration() { var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataRange().getValues(); var newData = new Array(); var now = new Date(); newData.push([("Timestamp") , ("First Name") ,

是否可以制作一个脚本来删除电子表格中超过3周的响应

这是我尝试的脚本,但没有成功:

function duration() {
var sheet = SpreadsheetApp.getActiveSheet(); 
var data = sheet.getDataRange().getValues();
var newData = new Array();
var now = new Date();
newData.push([("Timestamp") , ("First Name") , ("Last Name") , ("Homeroom")]);
for(i in data){
 var row = data[i]; if (now - row[0] < 300000) { newData.push(row); 
 } 
} 

sheet.clearContents(); 
sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData); 
函数持续时间(){
var sheet=SpreadsheetApp.getActiveSheet();
var data=sheet.getDataRange().getValues();
var newData=newarray();
var now=新日期();
推送([(“时间戳”)、(“名字”)、(“姓氏”)、(“家庭”)];
对于(数据中的i){
var row=data[i];if(现在-row[0]<300000){newData.push(row);
} 
} 
sheet.clearContents();
sheet.getRange(1,1,newData.length,newData[0].length).setValues(newData);

这很有效。我已经测试过了:

function duration() {
  var sheet = SpreadsheetApp.getActiveSheet(); 
  var data = sheet.getDataRange().getValues();
  var newData = new Array();
  var now = new Date();

  var threeWeeksAgo = new Date();
  threeWeeksAgo.setDate(now.getDate() - 21);

  var theLastRow = sheet.getLastRow();  
  newData.push(["Timestamp","First Name","Last Name","Homeroom"]);

  for(var i=0;i<theLastRow;i++){
    var row = data[i];
    if (row[0] > threeWeeksAgo) {
      newData.push(row); 
    }; 
  }; 

  sheet.clearContents(); 
  sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
};
函数持续时间(){
var sheet=SpreadsheetApp.getActiveSheet();
var data=sheet.getDataRange().getValues();
var newData=newarray();
var now=新日期();
var threeWeeksAgo=新日期();
setDate(现在是.getDate()-21);
var theLastRow=sheet.getLastRow();
推送([“时间戳”、“名字”、“姓氏”、“主页]);
对于(变量i=0;i三周前){
newData.push(行);
}; 
}; 
sheet.clearContents();
sheet.getRange(1,1,newData.length,newData[0].length).setValues(newData);
};

是的,您需要添加一个。然后你需要能够以某种方式过滤日期。做一个@SandyGood,我不知道怎么做。我没有制作脚本的经验,所以我只是想问问是否有人知道一个直接的答案,因为我对这类事情一无所知。我尝试使用一个有人放的程序,但它只是删除了表单上的所有响应,并将最上面一行更改为与响应应该是什么不同的内容。@Lev询问是否可能是错误的询问方式。有没有可能表明您只想要一个“是”或“否”的答案,而不是实际的解决方案。@SandyGood,这是我尝试过的但不起作用的脚本:function duration(){var sheet=SpreadsheetApp.getActiveSheet();var data=sheet.getDataRange().getValues();var newData=new Array();var now=newdate();newData.push(((“Timestamp”)),(“名字”),(“姓氏”),(“Homeroom”)];for(i in data){var row=data[i];if(now-row[0]<300000){newData.push(row);}}}sheet.clearContents();sheet.getRange(1,1,newData.length,newData[0].length).设置值(newData);复制并粘贴到此处时,我不确定如何保持格式。@Lev,这属于您的问题。单击