Я пишу сценарии Google для фильтрации и передачи данных из одной книги в другую. Я хотел бы, чтобы перевод был условным, исходя из вчерашней даты (в столбце K).
Пользователь предоставил мне код в другом посте , который я немного подправил (включая ниже) и пока выполняется копирование-вставка, фильтрация даты отключена. Код продолжает извлекать данные с 7/7/2019 (по состоянию на сегодня, 5 января 2020 г.), когда я хотел бы получить данные со вчерашнего дня. Вчера, в данном случае, 1/4 / 2020.
Я подправил ниже, основываясь на нескольких различных сообщениях stackoverflow, но не могу заставить его получать данные со вчерашнего дня, и пользователь, который опубликовал ответ, ушел молчал (я прокомментировал и должен был удалить комментарии за пару дней go).
Может ли кто-нибудь помочь мне получить вчерашние строки из Рабочей книги 1?
function runOne() {
var ss=SpreadsheetApp.openById('Workbook 1 ID');
var tsh=ss.getSheetByName('sheet1');
var ss2=SpreadsheetApp.openById('Workbook 2 ID');
var tsh2=ss2.getSheetByName('sheet1');
var lastRow=tsh.getLastRow();
var timestamps=tsh.getRange(1,11,lastRow,1).getValues();
var d = new Date();
d.setDate(d.getDate() - 1); // get the date from yesterday
var yesterdayDate=new Date(d);
for(var i=lastRow;i>1;i--){ // get the last row from yesterday
if(new Date(timestamps[i-1][0]).getDay()==yesterdayDate.getDay()){
var lastRowYesterday=i;
break;
}
}
for(var j=lastRowYesterday-1;j>1;j--){ // get the first row from yesterday
if(new Date(timestamps[j-1][0]).getDay()!=yesterdayDate.getDay()){
var firstRowYesterday=j+1;
break;
}
}
var rowNumber=lastRowYesterday-firstRowYesterday+1;
var columnNumber=tsh.getLastColumn();
var toCopy=tsh.getRange(firstRowYesterday,1,rowNumber,columnNumber).getValues(); //values from yesterday
var lastRow2=tsh2.getLastRow();
tsh2.getRange(lastRow2+1,1,rowNumber,columnNumber).setValues(toCopy); //append to workbook 2
}