2012-10-17 51 views
2

我想使用cell.setFormula函数设置Google Spreadsheet单元格的公式。谷歌应用脚​​本:试图为电子表格单元格设置Formular

这是我的函数代码。重要的代码行是我尝试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) 

我相信它用引号和双引号的组合做。如果没有错误信息,我一直无法工作。任何帮助,将不胜感激。

回答

7

+运算符未插入到连接字符串和name变量。以下代码部分修复了问题

formulaCell.setFormula('=if(isna(filter(' + name + '!AH3:AH3,' + name + '!AH3:AH3 <> ""))=true,"",filter(' + name + '!AH3:AH3,' + name + '!AH3:AH3 <> ""))'); 
+0

是,发现自己的问题,就像您发布此感谢 – Rynardt

0

..它不适用于我。

cell.setFormula("=COUNTIF('name'!B14:B71,"G:*")"); 
cell.setFormula("=COUNTIF(' + name + '!B14:B71,"G:*")"); 

我想这个问题是“在setFormula的输入

它采用”式的内容,其参数字段的终止并等待符号附上方法调用。

解决方案:

插入\在setFormula前:

cell.setFormula("=COUNTIF('name'!B14:B71,\"G:*\")"); 

_

相关问题