在新创建的行中插入公式

时间:2018-07-12 21:13:02

标签: google-apps-script google-sheets

大家好,我想知道如何将公式插入到新创建的行中 这个脚本会插入10行,我想在E列的10行创建的行中插入一个公式。

ClientID

我需要在这些新创建的行中插入此公式

menuID

1 个答案:

答案 0 :(得分:0)

您要在最后一行添加行,并将公式放在创建的行的E列中。您要修改公式的“ D3:D”。如果我的理解是正确的,那两种解决方案呢?我认为针对您的情况有几种解决方案。因此,请考虑其中的两个。

模式1:

在此脚本中,它将创建包含公式的二维数组。并使用setFormulas()将它们放在创建的行的E列中。

var ss = SpreadsheetApp.getActive();
var target = ss.getSheetByName('Data Entry');
var maxRow = target.getMaxRows();
var r = target.insertRowsAfter(maxRow, 10);
var formulas = [];
for (var i = 1; i < maxRow; i++) {
  formulas.push(["=If(len(D" + (maxRow + i) + ":D),vlookup(D" + (maxRow + i) + ":D,'Configuration List'!A2:B,2,0),\"\")"]);
}
target.getRange(maxRow + 1, 5, 10, 1).setFormulas(formulas);

模式2:

在此脚本中,它创建一个公式。并使用setFormula()将其放在创建的行的E列中。

var ss = SpreadsheetApp.getActive();
var target = ss.getSheetByName('Data Entry');
var maxRow = target.getMaxRows();
var r = target.insertRowsAfter(maxRow, 10);
var formula = "=If(len(D" + (maxRow + 1) + ":D),vlookup(D" + (maxRow + 1) + ":D,'Configuration List'!$A$2:B,2,0),\"\")";
target.getRange(maxRow + 1, 5, 10, 1).setFormula(formula);

注意:

  • 请根据您的情况选择其中之一。

参考文献:

如果我误解了您的问题,请告诉我。我想修改它。