详细信息:
我有一个工作表,该工作表的公式基于同一电子表格的另一个工作表部分来过滤数据。
现在,我有一个自定义函数,该函数返回电子表格中第一张工作表的名称。我需要在公式中使用此值。
公式
=IFERROR(SUM(filter('Sprint H 24102018-13112018'!E:E,'Sprint H 24102018-13112018'!B:B=A18,'Sprint H 24102018-13112018'!D:D=$B$1)),0)
现在,我想用我的gScript函数的返回值替换工作表的名称(单引号)。
功能
function getFirstSheet() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0].getName()
Logger.log(sheet)
return sheet;
}
我尝试了下面的方法,但是单引号给出的值为0,而单引号给出的公式解析错误。
答案 0 :(得分:0)
可以在Google表格的公式中使用自定义函数,例如在QUERY中使用INDIRECT:
=query(indirect("'"&getfirstsheet()&"'!B:E"),"select sum(E) where B ='"&A18&"' and D='"&$B$1&"' label sum(E) ''")
但似乎FILTER不会接受该构造。
但是请注意,您的函数不会因工作表名称的更改而更新。