我正在尝试编写一个自定义函数,该函数将计算并返回包含单个列信息的单元格数。我正在使用A(x):Z(x)的范围,我似乎无法动态传递这些,所以我每次都可以获得用户定义的范围。
编辑:我现在收到的当前错误说:缺失)在参数列表之后。 (第10行,文件“更新次数”)
到目前为止,我有这个......
function updateNum(row1,col1,row2,col2)
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName("report status");
var r = s.getActiveRange(row1+col1:row2+col2); <---Line with error
return (range.length-2)/2
}
关于我如何通过该范围的任何建议?
感谢, 亚历山大
答案 0 :(得分:0)
更改以下行:
var r= s.getRange(row1, col1, row2-row1+1, col2-col1+1);
但是,如果不能解决你的问题,那么后面的界限是无意义的。 &#34;范围&#34;没有宣布。我不知道你想去哪里。请写一些伪代码。
如果您想要的是计算其中包含信息的单元格数量,只需使用电子表格本机函数
counta()
答案 1 :(得分:0)
自定义函数无法实现,因为它们具有确定性。也就是说,在给定相同输入的情况下,它们将返回相同的结果。 在你的情况下,即使你修复了错误,你仍然没有通过实际输入只是它的范围限制。因此,如果范围内的数据发生更改,您仍然会传递相同的输入限制,因此将返回先前的缓存结果。 有很多方法可以传递额外的参数,这些参数总是像&#39; now()&#39;那样会有性能问题,因为它会不断重新计算。