我正在尝试使用cell.setFormula
功能设置Google电子表格单元格的公式。
这是我的功能代码。重要的代码行是我尝试setFormula
的最后一行。
//Create new empty project sheet
function copySheet() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var temp = ss.getSheetByName("Project_Template");
var name = Browser.inputBox("Create New Project", "Enter name for new project", Browser.Buttons.OK_CANCEL);
if (name != "cancel") {
ss.insertSheet(name,1, {template:temp})
//Add project name to project code cell
var newSheet = ss.getSheetByName(name);
var cell = newSheet.getRange(3, 2);
cell.setValue(name);
//Update formula in placemarkers sheet
var rowNum = ss.getNumSheets() - 3;
var formulaSheet = ss.getSheetByName("Placemarkers");
var formulaCell = formulaSheet.getRange(rowNum, 1);
formulaCell.setFormula('=if(isna(filter('name'!AH3:AH3,'name'!AH3:AH3 <> ""))=true,"",filter('name'!AH3:AH3,'name'!AH3:AH3 <> ""))');
}
}
当我尝试保存脚本时,收到以下错误消息:
Missing ) after argument list. (line 103)
我确信它与引号和双引号的组合有关。没有错误信息,我无法让它工作。任何帮助将不胜感激。
答案 0 :(得分:7)
未插入+
运算符以连接字符串和name
变量。以下代码部分修复了问题
formulaCell.setFormula('=if(isna(filter(' + name + '!AH3:AH3,' + name + '!AH3:AH3 <> ""))=true,"",filter(' + name + '!AH3:AH3,' + name + '!AH3:AH3 <> ""))');
答案 1 :(得分:0)
..这对我不起作用。
cell.setFormula("=COUNTIF('name'!B14:B71,"G:*")");
cell.setFormula("=COUNTIF(' + name + '!B14:B71,"G:*")");
我想问题是 setFormula的输入中的“。
将公式内容中的“作为其参数字段的终结符并等待)符号以包含方法调用。
解决方案:
在 setFormula 字符串中“之前插入\:
cell.setFormula("=COUNTIF('name'!B14:B71,\"G:*\")");
_