适用于Loop的Google表格脚本setformula

时间:2017-06-03 20:16:17

标签: google-apps-script

我有一个Google表格需要包含一个公式,该公式会根据它所在的行而变化,对于一列中的55行。该公式引用一个命名数据范围(来自另一个工作表)并使用索引调用拉出正确的值:= sum(index(jan,1))

我尝试创建一个setFormula脚本,每次创建新列c时都可以运行该脚本,这样我只需要重命名月份来填充我的值。它不起作用。

function setFormulas() {
  var sheet = SpreadsheetApp.getActiveSheet();

  var map = [
    { locus: "C3", order: 1 },
    { locus: "C4", order: 2 },
    { locus: "C5", order: 3 },
    { locus: "C6", order: 4 },
    { locus: "C21", order: 19 },
  ];

  var i
  for (i = 1; i > 57; i++) {
    var ref = map[i].locus
    var cell = sheet.getCell(""+ref+"");
  cell.setFormula("=sum(index(jan,"+i+"))")
  }

}

我对java很新,所以这可能是一个合法的屠杀......

我希望脚本循环遍历单元格范围C3 - > C56并插入我的公式,考虑到每次行值增加1时,我的索引调用也需要相应地更新为1。

ArrayFormula代替?:

= ARRAYFORMULA(= SUM(INDEX(jan,1),INDEX(jan,55)))nope = ARRAYFORMULA(= SUMIFS(C3:C56 ..我不知道如何继续这个。命名范围是jan,列c将按行顺序排列每行

0 个答案:

没有答案