Скрипт квоты для ростера
Я пытаюсь создать скрипт, который считывает определенный столбец (B), проверяя каждую ячейку на предмет «это значение <120?».
Если значение <120, я хочу, чтобы скрипт добавил значение «1» в соответствующую ячейку в другом столбце (E).
Это то, что я придумал до сих пор, но это не работает, и я не могу понять, почему.
function quota1() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Roster");
var workingCell = sheet.getRange("B:B").getValue();
if(workingCell < 120){
sheet.getrange("E:E").add(1);
}
}
1 ответ
Если col2 меньше 120, увеличьте столбец 5 на 1
function quota1() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName("Roster");
const vs = sh.getRange(1,1,sh.getLastRow(),5).getValues();//get all data
let vo = vs.map((r,i) =>{
if(r[1] < 120) {
return [r[4] + 1];//add one
} else {
return [r[4]];//no change
}
});
//Logger.log(JSON.stringify(vo));//easier see the column
sh.getRange(1,5,vo.length,vo[0].length).setValues(vo)
}
До: