谷歌应用程序脚本:试图setFormula的电子表格单元格(Google App Script: T

2019-08-01 13:14发布

我想设置为使用谷歌的电子表格单元格的公式cell.setFormula功能。

这是从功能我的代码。 的重要性的代码行是最后一个,我尝试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)

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

Answer 1:

+运营商没有插入加入串和name的变量。 下面的代码部分解决了这个问题

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


Answer 2:

..它不工作对我来说。

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

我想这个问题是setFormula的输入。

它以在式的内容作为它的参数字段的终止子,并等待符号以包围方法调用。

解:

前插入\“setFormula字符串:

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

_



文章来源: Google App Script: Trying to setFormula for Spreadsheet cell