单元格的函数为Object
或=AVERAGE()
并且已更改,但只有在手动更改单元格时,=SUM()
才会起作用。
如何为此案例创建触发器?
答案 0 :(得分:0)
可能有更好的方法来执行此操作,但如果您使用的是公式,则用户可能会在某处进行编辑,从而影响结果。
例如,如果你有公式:=SUM('A2:A50')
,那么实现目标的一种方法是验证编辑事件是否发生在该范围'A2:A50'
内。
以下是可能有用的示例代码:
function onEdit(e){
var editedRange = e.range
if (rangeContainsAnotherRange(yourRange,editedRange)){
// Do whatever you want
}
}
// Maybe not the most practical way to verify if one range is inside another
function rangeContainsAnotherRange(widerRange, editedRange){
var editRow = editedRange.getRow();
var editCol = editedRange.getColumn();
var widerRangeRowStart = widerRange.getRow();
var widerRangeRowEnd = widerRangeRowStart + widerRange.getHeight();
var widerRangeColStart = widerRange.getColumn();
var widerRangeColEnd = widerRangeColStart + widerRange.getWidth();
return (editRow >= widerRangeRowStart && editRow <= widerRangeRowEnd
&& editCol >= widerRangeColStart && editCol <= widerRangeColEnd)
}
希望有所帮助。
对于上面的示例,在onEdit
函数上,变量yourRange
将是范围'A2:A50'
。