Google apps script Google Sheets脚本设置循环公式

Google apps script Google Sheets脚本设置循环公式,google-apps-script,Google Apps Script,我有一个Google表单,它需要包含一个公式,该公式根据它所在的行而变化,一列55行。该公式引用一个命名的数据范围(来自另一个工作表),并使用索引调用提取正确的值:=sum(index(jan,1)) 我正在尝试创建一个setFormula脚本,每次创建一个新的列c时都可以运行该脚本,这样我只需重命名月份即可填充我的值。它不起作用 function setFormulas() { var sheet = SpreadsheetApp.getActiveSheet(); var map

我有一个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

而是数组形式的公式

=数组公式(=总和(索引(1月1日),索引(1月55日))否
=阵列公式(C3:C56..我不知道如何继续此操作。命名范围为jan,c列将按顺序计算每行的总和

我认为您只需使用ArrayFormula即可完成此操作。无需脚本。以下是一些参考文档的链接:我尝试了ArrayFormula,但它似乎无法获得索引行调用和当前r之间的链接如何传播更改。你能用ArrayFormula更新你的帖子吗?我可能可以帮你解决问题。我想你可以用ArrayFormula来完成。不需要脚本。这里有一些参考文档的链接:我尝试了ArrayFormula,但它似乎没有得到索引行调用之间的链接和当前行一起传播更改。你能用ArrayFormula更新你的帖子吗?我可以帮你解决问题。