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

基于Google Apps Script实现两列ID不匹配时自动加时间戳并触发操作

解决方案

步骤1:打开脚本编辑器

打开你的Google表格,点击顶部菜单栏的「工具」→「脚本编辑器」,会打开一个新的Google Apps Script页面。

步骤2:粘贴脚本代码

把下面的代码替换掉编辑器里的默认内容:

function onEdit(e) {
  // 定义ID列和时间戳列的位置(可根据你的表格修改)
  const ID_COLUMN_1 = 1; // A列
  const ID_COLUMN_2 = 2; // B列
  const TIMESTAMP_COLUMN = 3; // C列
  
  // 获取当前编辑的单元格和所在行
  const editedCell = e.range;
  const row = editedCell.getRow();
  const col = editedCell.getColumn();
  
  // 只处理表头以下的行,且编辑的是两列ID中的一列
  if (row <= 1 || !(col === ID_COLUMN_1 || col === ID_COLUMN_2)) return;
  
  const sheet = editedCell.getSheet();
  // 获取当前行的两个ID值
  const id1 = sheet.getRange(row, ID_COLUMN_1).getValue();
  const id2 = sheet.getRange(row, ID_COLUMN_2).getValue();
  
  // 对比ID:不匹配则写入当前时间,匹配则清空时间戳单元格
  const timestampCell = sheet.getRange(row, TIMESTAMP_COLUMN);
  if (id1 !== id2) {
    // 设置时间格式为你需要的样式(这里是YYYY-MM-DD HH:mm:ss)
    timestampCell.setValue(new Date()).setNumberFormat("YYYY-MM-DD HH:mm:ss");
  } else {
    timestampCell.clearContent();
  }
}

步骤3:修改列配置(按需调整)

根据你的实际表格结构,修改代码开头的三个常量:

  • ID_COLUMN_1:第一个ID列的列号(比如D列就是4)
  • ID_COLUMN_2:第二个ID列的列号
  • TIMESTAMP_COLUMN:要写入时间戳的列号

步骤4:测试脚本

回到你的表格,修改对应ID列的内容:

  • 当同一行的两个ID不相等时,时间戳列会自动添加当前时间
  • 当两个ID匹配时,时间戳单元格会被清空

注意事项

  • 第一次运行脚本时(比如手动在编辑器点击运行),需要授权Google访问你的表格数据,按照提示完成授权即可。
  • onEdit是简单触发器,会在你编辑表格时自动触发,无需额外配置。

内容的提问来源于stack exchange,提问作者Ben H.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 11:05:57