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

求Google Sheets根据指定单元格值自动变更工作表标签颜色的脚本

Google Sheets 订单标签颜色自动同步解决方案

功能适配说明

  • 全表统一触发单元格规则,任意工作表指定位置内容更新自动同步标签颜色
  • 规则全局生效,复制生成的新工作表无需额外配置自动继承功能
  • 触发单元格内容清空时自动恢复标签默认颜色,适配二次发货的状态重置需求

可直接运行的Apps Script代码

// --------------- 自定义配置区(可根据实际需求修改) ---------------
const TRIGGER_CELL = 'B2'; // 所有工作表统一的状态触发单元格位置,示例为B2
const STATUS_COLOR_RULE = {
  // 格式:'状态内容': '十六进制颜色码',可自行增减条目
  '待排产': '#F44336',    // 红色(示例工厂初始状态专属色)
  '待发货': '#FF9800',    // 橙色
  '部分发货': '#FFEB3B',  // 黄色
  '已发货': '#4CAF50',    // 绿色
};
const DEFAULT_TAB_COLOR = null; // 内容清空时恢复系统默认标签色,无需修改
// -------------------------------------------------------------

function onEdit(e) {
  // 校验是否为触发单元格的编辑操作
  const editedRange = e.range;
  if (editedRange.getA1Notation() !== TRIGGER_CELL) return;

  const currentSheet = editedRange.getSheet();
  const currentStatus = editedRange.getValue().toString().trim();

  // 状态为空则恢复默认颜色
  if (!currentStatus) {
    currentSheet.setTabColor(DEFAULT_TAB_COLOR);
    return;
  }

  // 匹配到对应状态则修改标签色
  if (STATUS_COLOR_RULE.hasOwnProperty(currentStatus)) {
    currentSheet.setTabColor(STATUS_COLOR_RULE[currentStatus]);
  }
}

部署步骤

  • 打开你的订单母版所在的Google Sheets文档,点击顶部菜单栏「扩展程序」→「Apps脚本」
  • 清空代码编辑器默认生成的内容,粘贴上述完整代码
  • 根据你的业务规则修改配置区的触发单元格位置、状态与对应的颜色值
  • 点击编辑器顶部的保存按钮,自定义项目名称(如「订单标签同步」),按照提示完成脚本权限授权
  • 配置完成后直接关闭Apps脚本页面即可,所有规则立即生效

补充说明

  • 脚本为全局生效规则,后续复制母版生成的任意新工作表都将自动适配规则,无需额外操作
  • 状态匹配为精确匹配,填写状态时需和配置区的「状态内容」完全一致才能触发对应颜色
  • 默认仅手动修改触发单元格内容时触发规则,若需要支持公式计算结果变更触发,可将onEdit函数改为可安装的onChange触发器即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:57:02