在Google Sheet的公式中使用自定义函数



详细信息:

我有一张工作表,它有一些公式,可以根据同一电子表格的另一个工作表部分过滤数据。

现在我有了一个自定义函数,它返回电子表格中第一张工作表的名称。我需要在公式中使用这个值。

公式

=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,并且没有单引号的公式解析错误。

可以在Google Sheets中的公式中使用自定义函数,例如在QUERY中使用INDIRECT:

=query(indirect("'"&getfirstsheet()&"'!B:E"),"select sum(E) where B ='"&A18&"' and D='"&$B$1&"' label sum(E) ''")

但FILTER似乎不会接受这种结构。

但是,请注意,您的函数不会因工作表名称的更改而更新。

最新更新