求助:Google Sheets K列单元格新旧值求和及onEdit触发器配置
Google Sheets K列数值累加实现方案
代码实现
打开你的表格,点击「扩展程序」→「Apps Script」,替换默认代码为:
function onEdit(e) { // 只处理K列(第11列,索引从0开始计数)的编辑操作 if (e.range.columnStart !== 11) return; // 将新旧值转为数字类型,旧值为空时按0计算 const oldValue = e.oldValue ? Number(e.oldValue) : 0; const newValue = Number(e.value); // 若新输入的不是有效数字,直接终止操作 if (isNaN(newValue)) return; // 计算累加后的总值 const total = oldValue + newValue; // 加锁避免多人并发编辑导致的数值错误 const lock = LockService.getScriptLock(); try { lock.waitLock(10000); // 最多等待10秒获取锁 e.range.setValue(total); } finally { lock.releaseLock(); } }
保存脚本(可命名为「K列累加工具」),完成授权流程即可。
功能验证
回到表格测试:比如K2初始值为5,输入3后会自动变为8;再输入2,数值会更新为10——每次编辑都会把新值加到历史总值上,而非直接覆盖原有内容。
触发器说明
这个脚本使用的是简单onEdit触发器,无需手动添加安装型触发器。只要脚本保存并授权完成,编辑K列单元格时会自动触发执行。如果后续需要修改作用列,只需把代码里的11替换为对应列的索引即可(比如A列是1,B列是2,以此类推)。
内容的提问来源于stack exchange,提问作者Sao_
相关产品推荐
相关产品推荐

