编辑:我用一个循环对函数进行了修改,但是它填写了“未定义的值”。谁能阐明为什么会这样?
我已经为朋友设置了计划应用程序。她经营一家宠物托管公司,您每8次访问就有一次免费访问。我已经进行了设置,因此每次同一个人进行约会时,访问次数都会添加到之前的访问次数中,然后除以8,然后四舍五入。因此,假设您安排6个约会,然后再安排6个约会,则总共将增加12个。向下舍入的12/8将为1,因此这是一次免费访问(此操作在工作表内完成)。我正在尝试弄清楚如何将旧值存储在新单元格中,因此,在进行新约会时,例如总共进行了24次访问,它应该显示3次免费访问减去上次获得的访问次数安排。
我尝试制作一个在编辑时触发的函数,我将粘贴以下代码:
function freeVisits(e){
var range = e.range;
var s = e.source.getActiveSheet();
if(s.getName() == "Form responses" && range.getColumn() == 9){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var targetSheet = ss.getSheetByName("Totals");
for(var i = 0; i < targetSheet.getActiveRange().getLastColumn() + 6; i++){
var cell = targetSheet.getRange(6+i, 5).getValue();
var oldCell = cell.oldValue;
targetSheet.getRange(6+i, 6).setValue(oldCell);
}
}
}
答案 0 :(得分:0)
在the documentation中可以看到,oldValue
是已编辑单元格中的前一个值;如果其中有一个带有4
的单元格并且您对其进行编辑,则e.oldValue
将保留4
。