在我的Google工作表文件中,sheet2被用作黑名单,其中colA =名称,colB =将其列入黑名单的日期,colC =将其从黑名单中删除的日期(colB中的值后3个月)。 Sheet1记录了注册表单的响应。
我想要一个脚本,它将在colC日期之后自动删除名称。也许一个脚本可以在两个单元格匹配的情况下删除整行。例如,如果B2和C2相等,则删除第2行。这将适用于每一行。
任何帮助将不胜感激。非常感谢。
答案 0 :(得分:0)
并没有立即清除您要从中删除名称的表。我的答案假设您要从黑名单工作表sheet2中删除该名称。
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var sheet2 = ss.getSheetByName ("sheet2");
var values = sheet2.getDataRange ().getValues ();
var day = 24*3600*1000;
var today = parseInt ((new Date ().setHours (0,0,0,0))/day);
var ssdate; // Date to check, spreadsheet date
// Start at the bottom and move up the file, since all rows will shit up when deleted
for (var i = values.length; i >= 0; i--)
{
try
{
ssdate = values[i][2].getTime () / day; // 2 is for the C column (0 is for the A column)
}
catch (e) {ssdate = null;}
// Testing that the date is today or later to remove from file
if (ssdate && Math.floor (ssdate) >= today)
{
sheet2.deleteRow (i + 1); // Removes name from blacklist.
// i + 1, because it is the row number, which starts at 1
// where arrays start index at 0.
}
}