У меня есть скрипт для перемещения строки данных в электронной таблице расписания сотрудников (благодаря помощи Reddit в Sheets), он работает, но перестал находить одну часть данных.
Таблица здесь: https://docs.google.com/spreadsheets/d/10yLJ_NyFasGhlRt2LsXO2CC804Zf5JLvwUisgytQOhM/edit?usp=sharing
Как только для столбца 63 «Закончено» установлено значение «ДА», он копирует данные (только из обязательных столбцов), находит имя сотрудника на основе недели, помеченной «x», и перемещает ее в «Готовый лист».
Код, который раньше работал полностью, но теперь он не находит «х» и не захватывает имя сотрудника.
Мне приходилось обновлять номера столбцов в скрипте несколько раз, так как у нас появилось больше сотрудников, возможно, я это сломал, делая это.
(Любые пустые столбцы содержат данные в моей реальной электронной таблице, я просто оставил их здесь пустыми, поскольку они не относятся к сценарию)
Буду очень признателен за любые советы! Спасибо!
[Полный код в таблице]
if (ecol == 63 && ssh.getName() == 'SCHEDULE' && rng.getValue() == 'YES') { //if Schedule!63 is YES
var data = []; //output data
var rowN = rng.getRow();
var rowV = ssh.getRange(rowN,1,1,63).getDisplayValues();
var row = rowV[0]; //get edited row
var colX = row.indexOf('x')+1; //find X
var offset = colX - ((colX-2) % 5 ) // offset to the first column
var emp = ssh.getRange(1,offset).getValue(); //get employee name
var dd = Utilities.formatDate(new Date(), "GMT+10", "dd/MM/yyyy") //generate date finished
data.push(row[1],row[2],row[3],dd,row[5],emp); //get row
dsh.appendRow(data); //move row
ssh.deleteRow(e.range.rowStart); //delete from schedule
}
}