所以我正在尝试使用谷歌表格和一个自定义函数来制作一个自动轮换时间表,该函数每周从链接的表格中选择一个新员工,然后当它到达底部时再次从列表顶部开始,使用谷歌触发器每 7 天运行一次计数器。
我很难弄清楚如何每周在电子表格中存储一个值以存储计数器的值,然后在函数再次运行以更新计数器时引用相同的值。
我也有一个问题,我的电子表格在我当前的输出中抛出“结果不是数字”错误,可能是因为它指的是它自己,当它只能存储公式时我不知道如何初始化计数器在它所指的单元格中。
这是我所拥有的:
/* counter starts at 2, increases each week (called upon by Google trigger to run each week) until
it reaches the lastRow of employees and then resets to two.
Returns this week's counter value each time to cell where function is called. */
function cleanerCounter(){
/*sheets*/
var sheet = SpreadsheetApp.getActive().getSheetByName('KitchenDuties');
var eDirectory = SpreadsheetApp.getActive().getSheetByName('EmployeeDirectory');
var lastRow = eDirectory.getLastRow(); //last row that contains an employee in the directory
//counter setup
var counter = sheet.getRange(6,2);
counter = counter.getDisplayValue();
counter = +counter;
if(counter >= lastRow){
counter = 2;
return +counter;
} else {
return +counter;
}
}