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

请求编写Google Sheets OnEdit脚本:按院校匹配Hex值修改指定区域背景色

Google Sheets OnEdit 脚本实现院校匹配背景色设置

完整实现脚本

function onEdit(e) {
  // 获取编辑事件关联的工作表和单元格
  const editedSheet = e.source.getActiveSheet();
  const editedRange = e.range;

  // 仅在编辑SUMMARY表的W3单元格时执行逻辑
  if (editedSheet.getName() !== "SUMMARY" || editedRange.getA1Notation() !== "W3") return;

  // 获取输入的院校名称并去除首尾空格
  const schoolName = editedRange.getValue().trim();
  if (!schoolName) {
    // 若W3清空,将目标区域重置为白色背景
    editedSheet.getRange("S3:Z4").setBackground("#ffffff");
    return;
  }

  // 读取REFERENCE表的院校与颜色数据
  const referenceSheet = e.source.getSheetByName("REFERENCE");
  // 假设AB列从第2行开始是数据(第1行为表头),若数据从第1行开始,改为"AB1:AC"
  const data = referenceSheet.getRange("AB2:AC").getValues();

  // 查找匹配院校对应的Hex颜色
  let targetHex = "#ffffff"; // 默认白色
  for (const row of data) {
    if (row[0] && row[0].trim() === schoolName) {
      targetHex = row[1] || "#ffffff";
      break;
    }
  }

  // 设置S3:Z4区域的背景色
  editedSheet.getRange("S3:Z4").setBackground(targetHex);
}

关键逻辑说明

  • 触发过滤:脚本仅对SUMMARY表的W3单元格编辑事件响应,避免无关操作触发脚本
  • 空值处理:清空W3时自动重置目标区域背景为白色
  • 数据适配:若你的REFERENCE表院校数据从第1行开始(无表头),将代码中AB2:AC改为AB1:AC即可
  • 容错机制:未找到匹配院校时,默认使用白色背景

新手使用步骤

  1. 打开你的Google Sheets文档
  2. 点击顶部菜单栏 工具 > 脚本编辑器
  3. 删除默认的myFunction()代码,粘贴上述脚本
  4. 点击编辑器顶部保存按钮,给脚本项目命名(比如SchoolColorSetter)
  5. 关闭脚本编辑器,返回表格后编辑SUMMARY表的W3单元格即可测试效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 17:18:25