首页 > 解决方案 > 如何在 App 脚本中循环使用 Google 表格公式

问题描述

我正在尝试从 Google App Script 在 Google Sheet 中设置一个公式。

这是电子表格的插图: 在此处输入图像描述

我也尝试编写代码,但我不知道如何循环它,因此对于添加到单元格范围“A3:F”的每个值,都会自动将其与总计列(G 列)相加。你能告诉我如何循环吗?您的回复将不胜感激:)

function onEdit(e){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheetByName('Sheet1');

  var cell = s.getRange("G3");
  cell.setFormula("=SUM((A3/100)*D3)+((B3/100)*E3)+((C3/100)*F3)");
}

编辑

这是适用于我的更新代码:

function onEdit(e){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheetByName('Sheet1');

  const cell = s.getRange(3, 7, s.getLastRow());
  cell.setFormula("=SUM((A3/100)*D3)+((B3/100)*E3)+((C3/100)*F3)");
  
}

标签: javascriptgoogle-apps-scriptgoogle-sheetsgoogle-sheets-formula

解决方案


不需要循环。SetFormula 会自动调整到一个新的范围,就像自动填充一样:

  const cell = s.getRange(`G3:G${s.getLastRow()}`);
  cell.setFormula("=SUM((A3/100)*D3)+((B3/100)*E3)+((C3/100)*F3)");

推荐阅读