Google apps script 谷歌工作表查询功能-如何引用活动工作表/选项卡名称?
这看起来很简单,但我无法让它工作。我搜索了很多文章,但没有找到雪茄。我编写代码为我们所有的经理制作一个标签,效果很好。现在,我想使用查询功能从第一个选项卡中为每个经理细分数据,该选项卡包含所有经理的数据。但是,我不想在每个选项卡上的每个查询函数中键入每个管理器名称,而是希望引用我为每个管理器创建的工作表/选项卡名称 这项工作:Google apps script 谷歌工作表查询功能-如何引用活动工作表/选项卡名称?,google-apps-script,google-sheets,google-sheets-formula,Google Apps Script,Google Sheets,Google Sheets Formula,这看起来很简单,但我无法让它工作。我搜索了很多文章,但没有找到雪茄。我编写代码为我们所有的经理制作一个标签,效果很好。现在,我想使用查询功能从第一个选项卡中为每个经理细分数据,该选项卡包含所有经理的数据。但是,我不想在每个选项卡上的每个查询函数中键入每个管理器名称,而是希望引用我为每个管理器创建的工作表/选项卡名称 这项工作: =QUERY(StaffDetail!A1:E338,"SELECT B,C,E,A WHERE A = 'Doe, Jane'",1) 我尝试将代
=QUERY(StaffDetail!A1:E338,"SELECT B,C,E,A WHERE A = 'Doe, Jane'",1)
我尝试将代码放入脚本编辑器中,创建一个调用工作表名称的函数,然后将其放入查询公式中;但它不起作用
function sheetName() {
return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}
不起作用:
=QUERY(StaffDetail!A1:E338,"SELECT B,C,E,A WHERE A = sheetName()",1)
我发现以下错误:
我不明白为什么它不起作用。我读了一些间接的和其他的,但这是在同一张纸上,所以我不认为我会需要它?感谢您的帮助。谢谢大家! 解释/问题:
- 自定义函数返回
,但查询公式接受工作表
“工作表”
- 我尝试了多种方法,但似乎只起作用(串联也起作用)
function sheetName() {
return `'${SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName()}'`;
}
=QUERY(StaffDetail!A1:E338, CONCAT("SELECT B,C,E,A WHERE A =", sheetName()),1)
假设Sheet1
是活动工作表,则返回'Sheet1'
将您的谷歌表单公式更改为:
function sheetName() {
return `'${SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName()}'`;
}
=QUERY(StaffDetail!A1:E338, CONCAT("SELECT B,C,E,A WHERE A =", sheetName()),1)
参考文献:
function sheetName() {
return `'${SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName()}'`;
}
=QUERY(StaffDetail!A1:E338, CONCAT("SELECT B,C,E,A WHERE A =", sheetName()),1)
我曾经让函数return
“Sheet”
非常完美!谢谢你,马里奥斯。为了确保我理解-因为使用函数的公式将其视为字符串,所以需要让GAS中的函数也将其视为字符串?通过在函数中添加tic标记,将其转换为字符串。我认为这很精彩,你为我节省了很多时间。再次感谢你@凯伦很高兴它解决了你的问题。自定义函数返回字符串,但返回方式不正确。它必须是'sheet'
而不是sheet
,但两者都是字符串。感谢您的澄清,Marios!