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

如何在指定列单元格颜色变更时向对应列写入当前日期时间?

功能实现方案

以下是针对Google Sheets的实现步骤,通过绑定Apps Script触发器即可完成需求:

步骤1:打开脚本编辑器

打开目标表格,点击顶部菜单栏「扩展程序」->「Apps 脚本」,进入脚本编辑页面,删除默认生成的空函数代码。

步骤2:粘贴自定义代码

将以下代码粘贴到编辑框中,根据你的实际需求修改开头的三个参数:

// 可修改参数区域
const MONITOR_COLUMN = 1; // 要监测颜色变化的列,A列对应1、B列对应2,以此类推
const TARGET_COLUMN = 2; // 写入日期时间的目标列,规则同上
const ORIGINAL_PURPLE = '#9900ff'; // 替换为你表格中原有紫色的十六进制颜色值

function onColorChange(e) {
  // 仅响应格式变更事件
  if (e.changeType !== 'FORMAT') return;
  const activeRange = e.source.getActiveRange();
  // 仅处理监测列的单元格变更
  if (activeRange.getColumn() !== MONITOR_COLUMN) return;

  const currentColor = activeRange.getBackground();
  // 原本为紫色的单元格被改为其他颜色时触发写入
  if (currentColor !== ORIGINAL_PURPLE) {
    const targetRange = activeRange.offset(0, TARGET_COLUMN - MONITOR_COLUMN);
    // 下方if判断用于避免重复写入,不需要的话可直接删除
    if (targetRange.isBlank()) {
      targetRange.setValue(new Date());
      // 自定义时间格式,可根据需求修改
      targetRange.setNumberFormat('yyyy-mm-dd hh:mm:ss');
    }
  }
}

原有紫色的十六进制值查看方法:选中表格里的紫色单元格,点击顶部填充颜色按钮->「自定义」,即可复制显示的十六进制代码。

步骤3:配置触发规则

  • 点击脚本编辑器左侧的「触发器」图标(闹钟形状)
  • 点击右下角「添加触发器」按钮
  • 选择要运行的函数为onColorChange
  • 事件源选择「电子表格」
  • 事件类型选择「变更」
  • 保存后按照页面提示完成账号授权即可

授权时如果出现「Google未验证此应用」的提示,属于个人开发脚本的正常提示,点击「高级」->「前往[你的脚本项目名]」即可完成授权,脚本仅在你的当前表格内运行,不会对外泄露数据。

注意事项

  • 如果需要监测多列的颜色变更,可自行扩展代码的列判断逻辑
  • 删除代码中的空值判断后,即可实现每次修改该单元格颜色都更新一次时间
  • 该触发器仅响应单元格填充颜色变更的操作,单元格内容修改不会触发时间写入

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:15:03