【问题标题】:Error with Google Sheets script – insert formula into cell谷歌表格脚本出错 - 将公式插入单元格
【发布时间】:2021-07-13 22:22:10
【问题描述】:

我在尝试为工作簿创建脚本时遇到此错误:

语法错误:SyntaxError: missing ) after argument list line: 5 file: Add Import Range Formula.gs

我正在尝试创建一个脚本,将我的公式插入单元格...这是公式本身(包括调用另一个脚本)。

=FILTER(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1H7tXnwHS37SSFbnQGAl0aQujCSzzf3oKvvjLg7fdwVs/edit#gid=149220930","Master Roster!A:B"), INDEX(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1H7tXnwHS37SSFbnQGAl0aQujCSzzf3oKvvjLg7fdwVs/edit#gid=149220930","Master Roster!A:C"),0,3)=GetSheetName())

当我将它手动粘贴到我的单元格时效果很好,但我不确定脚本为什么不接受它。

这是我正在尝试的完整脚本:

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("c2");
cell.setFormula("=FILTER(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1H7tXnwHS37SSFbnQGAl0aQujCSzzf3oKvvjLg7fdwVs/edit#gid=149220930","Master Roster!A:B"), INDEX(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1H7tXnwHS37SSFbnQGAl0aQujCSzzf3oKvvjLg7fdwVs/edit#gid=149220930","Master Roster!A:C"),0,3)=GetSheetName())");

任何帮助如何让它工作?

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    您需要转义一些引号。此外,query() 在这里比filter() 更容易。试试这个:

    cell.setFormula('=query(importrange("1H7tXnwHS37SSFbnQGAl0aQujCSzzf3oKvvjLg7fdwVs", "Master Roster!A1:B"), "where Col3 = \'" & GetSheetName() & "\' ", 1)');

    请注意,您的代码将在“第一个”工作表中插入一个公式,即出现在标签栏中最左侧的那个。当第一张工作表被隐藏时它仍然会执行相同的操作,因此请检查标签栏中的汉堡菜单 ≣ 以查看您的第一张工作表当前是否不可见。

    【讨论】:

    • 谢谢。我试图让这个工作,但事实并非如此。我正在备份只是让脚本将公式插入单元格,但没有成功。这就是我现在正在测试的内容。我的问题在哪里?函数 addImportRangeFunctionToWorksheet() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; sheet.getRange("F2").setFormula("=4"); }
    • 编辑了答案以讨论代码插入公式的位置。
    猜你喜欢
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 2015-01-16
    • 1970-01-01
    • 2018-10-27
    • 2018-12-25
    • 2020-07-09
    相关资源
    最近更新 更多