为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

烙印99 2022-10-21 10:40:10
我的计划是使用 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")');
查看完整描述

1 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

回答:

您需要将单元格的 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")`);


查看完整回答
反对 回复 2022-10-21
  • 1 回答
  • 0 关注
  • 86 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信