У меня есть лист со строками, который я хочу переместить на другой лист на основе значения ячейки.Я попытался следовать решению этого поста (см. Ниже), но у меня возникают проблемы при редактировании сценария в соответствии с тем, что я хочу, чтобы он делал.
Я делаю регистрацию на событие.Я хотел бы иметь возможность изменить значение в столбце F, заполнить столбец G временем изменения статуса и перенести данные строки на лист «Посетитель прибыл».
Я полагаю, что скрипт уже делает это, но нужно запустить его вручную.Он также заботится об удалении данных строки в A (событие) после переноса их в B (посетитель прибыл).
Мой вопрос: может кто-нибудь помочь мне настроить его, чтобы скрипт работал непрерывно (включенредактировать), а также выполнить все вышеперечисленное, если я что-то пропустил?
Я не верю, что скрипт будет поддерживать выпадающий формат, так как я готов что-то ввести вручную.Было бы круто, если бы это могло остаться таким, хотя бы - легче для одного.
Вот лист, на котором я тестирую.
https://docs.google.com/spreadsheets/d/1HrFnV2gFKj1vkw_UpJN4tstHVPK6Y8XhHCIyna9TLJg/edit#gid=1517587380
Вот решение, которое я попробовал придерживаться.Все благодарности Джейсону П и Ритцу за это.
Сценарий Google App - таблицы Google Move Rows эффективно основаны на значении ячейки
Спасибо D:
function CheckIn() {
// How Many Columns over to copy
var columsCopyCount = 7; // A=1 B=2 C=3 ....
// What Column to Monitor
var columnsToMonitor = 6; // A=1 B=2 C=3 ....
//TARGET SPREAD SHEETS
var target1 = "Attendee Arrived";
//Target Value
var cellvalue = "Attendee Arrived";
//SOURCE SPREAD SHEET
var ss = SpreadsheetApp.openById('1HrFnV2gFKj1vkw_UpJN4tstHVPK6Y8XhHCIyna9TLJg');
var sourceSpreadSheetSheetID = ss.getSheetByName("Event");
var sourceSpreadSheetSheetID1 = ss.getSheetByName(target1);
var data = sourceSpreadSheetSheetID.getRange(2, 1, sourceSpreadSheetSheetID.getLastRow() - 1, sourceSpreadSheetSheetID.getLastColumn()).getValues();
var attendee = [];
for (var i = 0; i < data.length; i++) {
var rValue = data[i][6];
if (rValue == cellvalue) {
attendee.push(data[i]);
} else { //Fail Safe
attendee.push(data[i]);
}
}
if(attendee.length > 0){
sourceSpreadSheetSheetID1.getRange(sourceSpreadSheetSheetID1.getLastRow() + 1,
1, attendee.length, attendee[0].length).setValues(attendee);
}
//Will delete the rows of importdata once the data is copided to other
sheets
sourceSpreadSheetSheetID.deleteRows(2,
sourceSpreadSheetSheetID.getLastRow() - 1);
}