Javascript 单元格值更新时未捕获时间戳,此值基于公式

Javascript 单元格值更新时未捕获时间戳,此值基于公式,javascript,google-apps-script,Javascript,Google Apps Script,单元格值更新的时间戳,此值基于公式。让我具体说明一下,当在工作表中手动更新值时,将触发时间戳。但是,当单元格值正在更新时(从公式导出)(基于另一个字段),则不会触发时间戳 例如,在下面的代码中,值“a”和“b”是从另一张表中派生出来的,因此当我在另一张表中输入值作为“a”时,或者发生任何基于公式的事件时,时间戳不会触发。我需要帮助 function onEdit() { var tradeden =2; // Column Number of "B" var saquib = Spr

单元格值更新的时间戳,此值基于公式。让我具体说明一下,当在工作表中手动更新值时,将触发时间戳。但是,当单元格值正在更新时(从公式导出)(基于另一个字段),则不会触发时间戳

例如,在下面的代码中,值“a”和“b”是从另一张表中派生出来的,因此当我在另一张表中输入值作为“a”时,或者发生任何基于公式的事件时,时间戳不会触发。我需要帮助

function onEdit()
 {
  var tradeden =2;  // Column Number of "B"
  var saquib = SpreadsheetApp.getActiveSpreadsheet();
  var bhai = saquib.getActiveSheet();
  var changedRange = bhai.getActiveRange();
  var timestamp =  Utilities.formatDate(new Date(), "IST", "EEE, dd MMM yyyy HH:mm:ss");


  if (changedRange.getColumn() ==tradeden ) 
         {
    // An edit has occurred in Column B
    var state = changedRange.getValue();
    if (state=="a")
    {
    var adjacent = bhai.getRange(changedRange.getRow(),tradeden+2);
    adjacent.setValue(timestamp);
    }
     if (state=="b")
     {
    var adjacent1 = bhai.getRange(changedRange.getRow(),tradeden+3);
    adjacent1.setValue(timestamp);
     }

   }
   }

你所描述的是正常的行为。简单触发器意味着由用户操作激活


我想您可以将其他工作表上的单元格添加到onEdit函数中,但您可能必须通过名称调用您称为活动的工作表,因为此时它不是活动工作表。

您的代码是JS,而不是Python。不要做标签垃圾邮件。