我正在尝试修改此答案中提供的脚本,该脚本删除时间戳超过30天的行以与我的Google表格一起使用。我希望该功能仅删除第4列(“ D”)仅包含单词“ Books”的行。其他行,最好是第4列包含“ Books”和其他单词的行(“ Books,Shirts”等),无论日期如何。
我尝试添加一个包含该列的附加var,但是无论如何它仍在删除。也许是因为我不熟悉数组如何处理文本。
到目前为止,我的代码:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Active Requests");//applies to active requests sheet only
var datarange = sheet.getDataRange();
var lastrow = datarange.getLastRow();
var values = datarange.getValues();// get all data in a 2D array
var currentDate = new Date();//today
var monthOld = Date.now() + -30*24*3600*1000;
for (i=lastrow;i>=1;i--) {
var tempDate = values[i-1][0];// arrays are 0 indexed so row1 = values[0] and col1 = [0]
if ((tempDate!="") && (tempDate <= (monthOld)))
{
sheet.deleteRow(i);
}
}
}
这样做非常简单。
只需获取D列的值,然后在if语句中添加一个附加条件:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Active Requests");//applies to active requests sheet only
var datarange = sheet.getDataRange();
var lastrow = datarange.getLastRow();
var values = datarange.getValues();// get all data in a 2D array
var currentDate = new Date();//today
var monthOld = Date.now() + -30*24*3600*1000;
for (i=lastrow;i>=1;i--) {
var tempDate = values[i-1][0];// arrays are 0 indexed so row1 = values[0] and col1 = [0]
var bookCheck = values[i-1][3];// values in column D
if ( (tempDate!="") && (tempDate <= (monthOld)) && bookCheck=="Books")
{
sheet.deleteRow(i);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句