Google Apps Script setFormula 如何将公式设置为包含变量的表格单元格

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


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

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


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")');


烙印99
浏览 87回答 1
1回答

拉风的咖菲猫

回答:您需要将单元格的 A1 符号连接到setFormula().代码修改:从 V8 开始,您可以在 Google Apps 脚本中使用模板文字。您可以按以下方式执行此操作:start = sheet.getRange(x,11).getA1Notation();due = sheet.getRange(x,12).getA1Notation();  sheet.getRange(x,9).setFormula(`datedif(${start},${due},"d")`);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript