Удалить строку, если совпадают две соответствующие ячейки - PullRequest
0 голосов
/ 16 мая 2019

В моем файле листа google sheet2 используется в качестве черного списка, в котором colA = имя, colB = дата их внесения в черный список, colC = дата, когда они будут удалены из черного списка (через 3 месяца после значения в colB).Sheet1 записывает ответы формы регистрации.

Я хотел бы сценарий, который автоматически удаляет имена после их даты colC.Возможно, скрипт, который может удалить всю строку, если две ячейки совпадают.Например, если B2 и C2 равны, тогда удалите строку 2. Это должно применяться к каждой строке.

Любая помощь будет принята с благодарностью.Большое спасибо.

1 Ответ

0 голосов
/ 16 мая 2019

Не сразу было понятно, с какого листа вы хотите удалить имя. Мой ответ предполагает, что вы удаляете имя из листа черного списка, 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.
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...