Я работаю над листом Google, который получает форму.
После отправки мне нужен сценарий для перемещения строк данных на разные вкладки в зависимости от имени, указанного в столбце C.
Я интенсивно искал решения по переполнению стека, и сейчас я очень близок к решению по коду, который я нашел и отредактировал.
У меня есть скрипт, который будет перемещать исторические даты на другую вкладку и оставлять все будущие даты на исходной вкладке в соответствии с логикой даты, которая старше, чем сегодня.
Все, что мне нужно сделать сейчас, это изменить это, чтобы переместить строки с именем «Джон» в столбце C на вкладку «Джон» и игнорировать дату.
Как только я смогу заставить работать одно имя, я уверен, что смогу сделать это для нескольких имен и нескольких вкладок.
Пожалуйста, не стесняйтесь создавать копию следующего контрольного листа, над которым я работал.
ссылка:
https://docs.google.com/spreadsheets/d/1zJpylrD_5hzScW3lIjIQQSKiY0Aan6Wkm_h_IbVrVXM/edit#gid=0
function MovePastDates() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var entrySheet = ss.getSheetByName("Entry Sheet");
var franksSheet = ss.getSheetByName("Franks Sheet");
var lastColumn = entrySheet.getLastColumn();
for(var i = entrySheet.getLastRow(); i > 0; i--){
var dateCell = entrySheet.getRange(i, 1).getValue();
var today = new Date();
var test = new Date(dateCell);
// If the value is a valid date and is a past date, we remove it from the sheet to paste on the other sheet
if(test < today){
var rangeToMove = entrySheet.getRange(i, 1, 1, entrySheet.getLastColumn()).getValues();
franksSheet.getRange(franksSheet.getLastRow() + 1, 1, 1, entrySheet.getLastColumn()).setValues(rangeToMove);
entrySheet.deleteRow(i);
}
}
}
Окончательный результат должен быть листом Google, который получает записи формы.
Каждая запись будет назначена определенному человеку, который будет иметь только права на редактирование для своей вкладки, только там, где он может утверждать / отклонять запросы, отправленные через форму.
Все остальные пользователи листа будут иметь доступ только для просмотра.