You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何开发基于数组内关键词生成时间戳的Google Apps Script函数

实现Google Sheets关键词触发时间戳记录函数

结合你给出的代码片段,这里提供完整的实现方案,用onEdit简单触发器实现内容填充时自动记录时间戳:

function onEdit(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet1 = ss.getSheetByName('Form Response Data');
  var sheet4 = ss.getSheetByName('Dewar ID');
  
  // 获取当前编辑的单元格和内容
  var editedRange = e.range;
  var editedValue = e.value;
  var editedSheet = editedRange.getSheet();
  
  // 情况1:sheet4的A3:A50范围内出现"Item 1"时记录时间戳
  if (editedSheet.getName() === 'Dewar ID' && editedRange.getRow() >=3 && editedRange.getRow() <=50 && editedRange.getColumn() ===1) {
    if (editedValue === 'Item 1') {
      // 在当前单元格右侧B列写入时间戳,可自行修改目标列
      editedRange.offset(0,1).setValue(new Date());
    }
  }
  
  // 情况2:sheet1最后一行出现"Item 2"时记录时间戳
  if (editedSheet.getName() === 'Form Response Data') {
    var lastRow = sheet1.getLastRow();
    if (editedRange.getRow() === lastRow) {
      if (editedValue === 'Item 2') {
        // 在当前单元格右侧列写入时间戳,可自行调整位置
        editedRange.offset(0,1).setValue(new Date());
      }
    }
  }
}

关键逻辑说明

  • 触发方式:用onEdit简单触发器,无需额外授权,只要编辑单元格就会自动运行,刚好匹配"内容填充时记录"的需求。
  • 范围校验:针对"Item 1"限定在sheet4的A3:A50范围内,避免无关编辑触发;针对"Item 2"先判断是否在sheet1的最后一行,再检查内容。
  • 时间戳写入:用new Date()生成当前时间,通过offset(0,1)写入到当前单元格的右侧列,你可以根据需求修改列偏移量(比如改成offset(0,2)写入C列)。

扩展提示

  • 如果需要模糊匹配(比如单元格包含"Item 1"而非完全等于),把editedValue === 'Item 1'改成editedValue.includes('Item 1')即可。
  • 如果要固定写入到某一列,直接用sheet1.getRange(lastRow, 目标列号).setValue(new Date())替换偏移量写法。

内容的提问来源于stack exchange,提问作者trend

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 09:57:23