繁体   English   中英

Google表格-根据日期删除过期的行

[英]Google Sheets - Delete Expired Rows Based On Date

我目前正在尝试制作一个脚本或任何能够在C列中给定日期之后删除一行的文字。

该站点是免费站点,因此,一旦通过C列上指定的日期,我就需要删除行/条目。

例如:如果一个赠品的到期日期为20/13/2016,则一旦该日期达到该日期20/13/2016,它将删除该行。 我以dd / mm / yy的公制为注释。

我在Google表格中看到了类似的问题-删除过期行的脚本,但是该代码无法满足我的需求。

这是另一个问题中使用的代码。

 var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Foglio1");
var datarange = sheet.getDataRange();
var lastrow = datarange.getLastRow();
var values = datarange.getValues();// get all data in a 2D array

var currentDate = new Date();
var oneweekago = new Date();
oneweekago.setDate(currentDate.getDate() - 7);

for (i=lastrow;i>=2;i--) {
var tempdate = values[i-1][2];// arrays are 0 indexed so row1 = values[0] and col3 = [2]

if(tempdate < oneweekago)  
{
  sheet.deleteRow(i);
}
}
}

如果您可以更改它以满足我的上述需求,将不胜感激!

假设您的日期位于所述的C列中,则应该这样做。 调整只是针对我们比较的日期并处理缺失的日期。 为了可读性,我也弄混了一些名字的情况。

function DeleteOldEntries() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Live Events");//assumes Live Events is the name of the sheet
var datarange = sheet.getDataRange();
var lastrow = datarange.getLastRow();
var values = datarange.getValues();// get all data in a 2D array

var currentDate = new Date();//today

for (i=lastrow;i>=3;i--) {
var tempDate = values[i-1][2];// arrays are 0 indexed so row1 = values[0] and col3 = [2]
if ((tempDate!=NaN) && (tempDate <= currentDate))
{
  sheet.deleteRow(i);
}//closes if
}//closes for loop
}//closes function

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM