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

求助:如何实现列输入自动检测并跨区域更新的脚本方案

实现方案(Google Apps Script)

以下脚本可满足你的需求,支持多工作表监控,当指定条件触发时自动添加提示文本:

核心代码

function onEdit(e) {
  // 配置参数 - 根据实际表格修改
  const TARGET_SHEETS = ['Sheet1', 'Sheet2', 'Sheet3']; // 替换为你的24-26个工作表名称
  const LESSON_COLUMN = 10; // J列的列号(固定)
  const DATE_COLUMN = 11; // 日期所在列的列号(假设是K列,可自行调整)
  const PROMPT_COLUMN = 12; // L列的列号(固定)
  const OLD_LESSON = 'Lesson 5';
  const NEW_LESSON = 'Lesson 6';
  const PROMPT_TEXT = 'DATE PLS';

  // 获取编辑事件数据
  const range = e.range;
  const sheet = range.getSheet();
  const row = range.getRow();
  const col = range.getColumn();
  const oldValue = e.oldValue;
  const newValue = e.value;

  // 过滤非目标场景
  if (!TARGET_SHEETS.includes(sheet.getName()) || col !== LESSON_COLUMN) return;
  if (oldValue !== OLD_LESSON || newValue !== NEW_LESSON) return;

  // 检查日期是否为空
  const dateCell = sheet.getRange(row, DATE_COLUMN);
  if (dateCell.getValue() === '') {
    // 在对应行的L列添加提示
    sheet.getRange(row, PROMPT_COLUMN).setValue(PROMPT_TEXT);
  } else {
    // 日期已填写时清除提示(可选,可删除此块)
    sheet.getRange(row, PROMPT_COLUMN).clearContent();
  }
}

使用步骤

  1. 打开你的Google表格,点击顶部菜单「扩展」→「Apps 脚本」
  2. 删除默认的myFunction代码,粘贴上面的脚本
  3. 修改TARGET_SHEETS数组,填入所有需要监控的工作表名称;若日期不在K列,调整DATE_COLUMN的数值(比如日期在M列就填13)
  4. 点击脚本编辑器顶部的「保存」按钮,给脚本命名(比如LessonDatePrompt)
  5. 首次运行脚本时会触发权限申请,按提示完成授权(需要允许脚本访问你的表格数据)

额外说明

  • 如果你的工作表名称有统一规律(比如都是「班级XX」),可以把TARGET_SHEETS的判断逻辑改成:
    if (!sheet.getName().startsWith('班级')) return;
    
    这样无需逐个填写工作表名称,更高效适配大量工作表
  • 脚本会自动响应表格的编辑操作,无需手动触发

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 18:37:33