使用Google表格中的脚本设置setFormula

时间:2020-03-09 21:18:28

标签: javascript google-apps-script google-sheets

我对javascript有一点了解,我只想知道如何制作在这种情况下可以使用的脚本setFormula

我只想用D2:F2设置第二行,或者只要第一行的值像公式一样在单元格中作为引用即可:D2 = {franco!F2:F}; E2 = {justin!F2:F}; F2 = {aeron!F2:F},依此类推... 目前,我正在使用以下代码:

function setFormula() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
  var rangeList = ss.getRange('d1:f1').getValue();
  var range = ss.getRange('d2:f2');
  range.setValue('={'+rangeList+'!F2:F}');
}

希望有人可以帮助我使用此代码。预先谢谢你

1 个答案:

答案 0 :(得分:2)

  • 您想将{franco!F2:F}{justin!F2:F}{aeron!F2:F}的公式分别放入单元格“ D2”,“ E2”和“ F2”。
  • 在这种情况下,您要从单元格“ D1:F1”中检索franco, justin, aeron的值。
  • 您想使用Google Apps脚本实现这一目标。

我可以像上面那样理解。为此,这个答案如何?请认为这只是几个可能的答案之一。

示例脚本:

function setFormula() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
  var rangeList = ss.getRange('d1:f1').getValues()[0];
  var range = ss.getRange('d2:f2');
  range.setFormulas([rangeList.map(function(e) {return '={'+e+'!F2:F}'})]);
}
  • 首先,获取franco, justin, aeron的值。使用这些值,每个公式都会在map
  • 中循环创建
  • setFormulas使用二维数组。请注意这一点。

参考文献: