谷歌应用套件设置公式如何设置公式到包含变量的工作表单元格



我的计划是使用Google电子表格中的函数DATEDIF计算2个给定日期之间的天数,并且该函数必须来自Google Apps Script。我可以在下面得到它。

sheet.getRange(x,10).setFormula('datedif(K32,L32,"d")');

但是,由于每当 GAS 调用电子表格时,该行都会增加 AppendRow,因此我尝试使用变量 x 来获取最后一行。它让我知道目标行在哪里。我的麻烦是我不能让 setFormula 使用变量,如下所示,其中startdue是 2 个给定单元格的 A1 表示法和日期。

sheet.getRange(x,9).setFormula('datedif([start],[due],"d")');

我的代码如下。

var x = sheet.getLastRow();

sheet.getRange(x,11).setValue("2020/05/20");
sheet.getRange(x,12).setValue("2020/07/21");

start = sheet.getRange(x,11).getA1Notation();
due = sheet.getRange(x,12).getA1Notation();  


sheet.getRange(x,9).setFormula('datedif([start],[due],"d")');
sheet.getRange(x,10).setFormula('datedif(K32,L32,"d")');

答案:

您需要将单元格的 A1 表示法连接到setFormula()中的字符串中。

代码修改:

从V8开始,您可以在Google Apps Script中使用模板文字。您可以按如下方式执行此操作:

start = sheet.getRange(x,11).getA1Notation();
due = sheet.getRange(x,12).getA1Notation();  
sheet.getRange(x,9).setFormula(`datedif(${start},${due},"d")`);

引用:

模板
  • 文字(模板字符串( - JavaScript |多核

最新更新