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

如何在Google Sheets同一单元格中实现输入数值与原有值自动累加?

在Google Sheets中实现单元格输入值与原值累加的方法

确实,Google Sheets原生没有内置的“累加模式”或者类似++23的快捷操作来直接实现这个需求,不过我们可以用Google Apps Script轻松搞定这个功能,步骤如下:

步骤1:打开脚本编辑器

在你的Google Sheets文档中,点击顶部菜单栏的「扩展」→「Apps 脚本」,这会打开一个新的脚本编辑器标签页。

步骤2:替换默认代码

删除编辑器里的默认代码,粘贴下面这段脚本:

function onEdit(e) {
  // 获取触发编辑事件的单元格
  const editedCell = e.range;
  // 获取单元格的旧值(编辑前的值)和新输入的值
  const oldValue = e.oldValue ? Number(e.oldValue) : 0;
  const newValue = Number(e.value);
  
  // 检查新输入的是否是有效数字,避免非数字输入出错
  if (!isNaN(newValue)) {
    // 计算累加后的值
    const total = oldValue + newValue;
    // 关闭事件触发,避免循环执行
    SpreadsheetApp.getActiveSpreadsheet().getRange(editedCell.getA1Notation()).setValue(total);
  }
}

代码简单解释:

  • onEdit(e)是Google Sheets的内置触发函数,每次单元格被编辑时会自动执行
  • e.oldValue获取编辑前的单元格值,e.value是你刚输入的新值
  • 我们把两个值转成数字类型,相加后再设置回单元格
  • 加了isNaN判断,防止输入非数字内容时脚本报错

步骤3:保存并授权

  1. 点击编辑器顶部的「保存」按钮,给你的脚本项目起个名字(比如「单元格累加工具」)
  2. 第一次运行时会提示需要授权,按照提示完成授权即可(这是安全的,因为脚本只对你当前的表格生效,不会访问其他数据)

步骤4:测试功能

回到你的Google Sheets表格:

  • 比如C1单元格原有值是23,选中C1输入13,按下回车后,C1会自动变成36(23+13)
  • 如果输入的是文本,脚本会忽略,不会改变单元格内容

额外提示:

如果你只想让特定范围的单元格生效(比如只让C列的单元格有这个累加功能),可以在脚本里加个范围判断,比如在if (!isNaN(newValue))前面加上:

// 只允许C列的单元格触发累加
if (editedCell.getColumn() !== 3) return;

这样就只有C列的单元格会执行累加操作啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 06:49:36