Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 更新公式时运行Google应用程序脚本_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 更新公式时运行Google应用程序脚本

Google apps script 更新公式时运行Google应用程序脚本,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一个Google Sheets电子表格,其中不同的人列出了在共享帐户上执行的一系列交易:在下一行的a列中键入日期(例如,在第9行之前的所有行都已填充,因此日期将键入A10),然后在同一行的B列中键入名称(示例中为B10),和同一行的D列上的值(示例中为D10) 如前所述输入新事务时,固定单元格(C2)将运行一个公式,该公式取决于所有以前事务的日期和值加上新插入的事务的日期和值。因此会进行重新计算,但C2的值可能会更新,也可能不会更新,这取决于此新事务的某些细节 当C2确实在重新计算后更新时,

我有一个Google Sheets电子表格,其中不同的人列出了在共享帐户上执行的一系列交易:在下一行的a列中键入日期(例如,在第9行之前的所有行都已填充,因此日期将键入A10),然后在同一行的B列中键入名称(示例中为B10),和同一行的D列上的值(示例中为D10)

如前所述输入新事务时,固定单元格(C2)将运行一个公式,该公式取决于所有以前事务的日期和值加上新插入的事务的日期和值。因此会进行重新计算,但C2的值可能会更新,也可能不会更新,这取决于此新事务的某些细节

当C2确实在重新计算后更新时,我想向电子表格的所有用户发送一封电子邮件,警告更新。我已经开始为此开发一个谷歌应用程序脚本,但我还没有找到一个适合我的情况的触发器。我尝试过使用
onEdit()
函数,但C2中从未调用它进行更改,因为它没有实际编辑,只是重新计算过

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

  • 如果用户先填写D列,然后填写a列,则C2中的值在填写a列之前不会重新计算,因此将发送一封电子邮件以获取未更改的值;然后,当编辑列A且C2中的值实际更改时,不会发送电子邮件
  • 此外,如果用户按预期顺序填写列,并重新计算公式,但值没有更改,则会不必要地发送电子邮件

因此,我的问题是:如何在包含公式的单元格中的值发生变化时触发脚本?

我将C2的值存储为a,然后使用onEdit()将属性的值与电子表格中任何变化时的C2进行比较。

这样做的示例代码显然是值得赞赏的。