Я собираюсь оказать некоторую помощь, хотя я буду наказан за это.В будущем проведите небольшое исследование, постарайтесь понять код и заставить его работать в ваших целях.Если вы не можете, и Google не помогает, ТОГДА зайдите и задайте ЯСНЫЙ вопрос со всеми деталями.Большинство лучших собак здесь даже не посмотрят на ваш вопрос, если все это не будет сделано.Кроме того, обязательно используйте правильные теги в своих вопросах.Это даже не покажет нужным людям без них.
Теперь к вашему ответу:
Вы хотите удалить строку, если дата в столбце L> 30 дней назад.Код, который вы указали, ищет в столбце C дату.Так что это первое, что нужно изменить.Во-вторых, условное if ((tempDate!=NaN) && (tempDate <= currentDate))
проверяет, является ли ячейка пустой (NaN
), или дата <= СЕГОДНЯ, <strong>НЕ сегодня - 30. Итак, вам нужен способ вычислениячто сегодня - 30 дней: var monthOld = Date.now() + -30*24*3600*1000;
, то вы можете сравнить это с датой в столбце L.
Если вы сделаете эти два изменения, вы получите:
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
var monthOld = Date.now() + -30*24*3600*1000;
for (i=lastrow;i>=3;i--) {
var tempDate = values[i-1][11];// arrays are 0 indexed so row1 =
values[0] and col12 = [11]
if ((tempDate!=NaN) && (tempDate <= (monthOld)))
{
sheet.deleteRow(i);
}
}
}
Это должноделай что хочешь.Если у вас есть еще вопросы, дайте мне знать.Я рад помочь.