Google apps script 当公式更改单元格值时触发脚本

Google apps script 当公式更改单元格值时触发脚本,google-apps-script,triggers,google-sheets,Google Apps Script,Triggers,Google Sheets,我正在使用谷歌脚本,当谷歌工作表中的某一列发生变化时,我会发送一封电子邮件。单元格中的信息可以手动输入,也可以使用基于其他单元格中信息的公式完成 当手动输入信息时,脚本工作正常,但当公式运行时,脚本工作不正常。我已经读过了,并且意识到公式计算不能算作编辑,那么如何让脚本运行呢 它当前设置为在有编辑时从电子表格触发 下面是我的脚本中涉及相关列/单元格的部分 function sendEmail() { var ss = SpreadsheetApp.getActiveSpreadsheet()

我正在使用谷歌脚本,当谷歌工作表中的某一列发生变化时,我会发送一封电子邮件。单元格中的信息可以手动输入,也可以使用基于其他单元格中信息的公式完成

当手动输入信息时,脚本工作正常,但当公式运行时,脚本工作不正常。我已经读过了,并且意识到公式计算不能算作编辑,那么如何让脚本运行呢

它当前设置为在有编辑时从电子表格触发

下面是我的脚本中涉及相关列/单元格的部分

function sendEmail() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var row = sheet.getActiveRange().getRow();
  var cellvalue = ss.getActiveCell().getValue().toString();

   if(sheet.getActiveRange().getColumn() == 12)

脚本中包含了更多内容,因此我没有将所有内容复制到这里。非常感谢。

当公式更改时,没有触发器可以运行

试着弄清楚,你的公式取决于什么条件:

  • 如果它是另一个单元格,则手动输入,然后使用这些单元格通过
    onEdit
  • 如果公式从外部源导入数据,请使用随机函数或时间函数,最好使用
  • 如果公式使用
    importrange
    ,则转到导入的范围并查看原始范围,返回步骤1→ 2

  • 您的脚本是否通过onEdit触发器运行?如果是,是否检查编辑的单元格?如果是,则可能需要检查手动更改的单元格并使公式更改值。你能在你的文章中包含代码,这样它也可以被查看吗?我使用的公式是=IF(AND(G280),“Approved”,“”)。如果G的值大于1000,则有人手动在L列中输入注释。这样做确实允许脚本运行,但如果公式完成单元格,则显然不允许。您是对的,只有在更改G28时,触发器才能运行。这个公式不会影响触发器。这就是我的答案。