更新公式时运行Google Apps脚本

时间:2014-12-24 16:38:13

标签: google-apps-script google-sheets

我有一个Google表格电子表格,其中不同的人列出了在共享帐户上执行的一系列交易:在下一个可用行的列A上键入日期(比如所有行,直到第9行已经填充,因此日期将是输入A10),然后是同一行B列的名称(示例中为B10),同一行D列上的值(示例中为D10)。

当按照描述输入新交易时,固定单元格(C2)运行一个公式,该公式取决于所有先前交易的日期和值加上新插入的交易。因此会重新计算,但C2的值可能会更新,也可能不会更新,具体取决于此新交易的某些细节。

在重新计算后确实更新了C2时,我想向电子表格的所有用户发送一封电子邮件警告更新。我已经开始为此开发Google Apps脚本,但我没有找到适用于我的情况的触发器。我尝试过使用onEdit()函数,但是从来没有调用C2中的更改,因为它实际上没有被编辑,只是重新计算。

现在我正在考虑在D列中查找编辑,因为我希望用户首先填写A列中的日期,然后填写B列中的名称,然后才填写D列中的值。 ,这有一些我想避免的问题:

  • 如果用户首先填充D列然后填写A列,那么在A列填充之前不会重新计算C2中的值,因此将发送一封电子邮件用于未更改的值;然后,当编辑A列并且实际更改C2中的值时,不会发送任何电子邮件。
  • 另外,如果用户按预期顺序填写了列,并且重新计算了公式但值未发生变化,则会不必要地发送电子邮件。

因此我的问题:如何在包含公式的单元格中更改值时触发脚本?

1 个答案:

答案 0 :(得分:1)

我会将C2的值存储为property using the Property Service,然后在使用onEdit()对电子表格进行任何更改时将属性的值与C2进行比较。