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

Google Sheets OnEdit脚本如何写入指定公式的实时计算结果

Google Sheets OnEdit脚本修改方案

你需要实现编辑指定工作表A列单元格时,在同行N列写入触发当下C1+1的静态计算结果,而非固定文本或动态公式,修改时需要先修复原脚本的列偏移bug:原代码中r.offset(0, 14)会将内容写入A列右移14列的O列(第15列),和你需要的第14列N列不符,需将列偏移值调整为13。

修改要点

  • 触发编辑事件时,实时读取当前工作表C1单元格的最新数值
  • 对读取到的C1值做+1计算,得到触发时刻的固定结果
  • 仅当同行目标N列单元格为空时写入内容,避免覆盖已有数据
  • 写入的是计算后的静态值,后续C1数值变动不会影响已经写入的内容

修改后可直接运行的代码

function onEdit() {
  const s = SpreadsheetApp.getActiveSheet();
  if (s.getName() == "Current Loads 2020") {
    const r = s.getActiveCell();
    if (r.getColumn() == 1) {
      // 列偏移改为13,对应A列右移13列到N列(第14列)
      const nextCell = r.offset(0, 13);
      if (nextCell.getValue() === '') {
        // 读取C1实时值计算后写入静态结果
        const currentC1Val = s.getRange("C1").getValue();
        nextCell.setValue(currentC1Val + 1);
      }
    }
  }
}

可选调整

如果你后续需要让写入的内容随C1数值自动更新,而非固定为触发时的计算结果,只需将写入行替换为公式写入逻辑即可:

nextCell.setFormula("=C1+1");

保存脚本后回到工作表,编辑「Current Loads 2020」表的A列单元格,就会在同行空的N列单元格自动写入对应结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 17:43:12