Google Sheets如何实现输入单元格数值加减目标单元格且输入格自动清空
D&D跑团资源追踪Google Sheets工具实现方案
步骤1:基础单元格配置
- 选择任意空白单元格作为输入区,示例中使用
A1,可根据你的表格布局自定义位置 - 选择一个目标单元格存储要追踪的资源数值(比如金币、生命值、法术位等),示例中使用
B1,可提前填入初始资源值 - 给输入单元格添加
update value占位符:选中输入单元格>右键>选择「查看更多单元格操作」>「条件格式」,设置规则为「单元格为空」,自定义数字格式输入"update value",字体调整为浅灰色即可,空单元格时自动显示占位符,输入内容时恢复正常显示
步骤2:添加自动执行脚本
这是实现自动加减功能的核心步骤,操作如下:
- 点击Google Sheets顶部菜单栏「扩展程序」>「Apps 脚本」
- 删掉编辑器默认的空白代码,粘贴下方代码,根据你实际使用的单元格、工作表名称修改开头的三个配置参数即可:
// 下方三个参数可根据你的实际表格配置修改 const INPUT_CELL = 'A1'; // 输入单元格位置 const TARGET_CELL = 'B1'; // 存储资源的目标单元格位置 const SHEET_NAME = 'Sheet1'; // 对应工作表名称,默认是Sheet1 function onEdit(e) { // 未编辑指定输入单元格时直接退出 const range = e.range; const sheet = range.getSheet(); if (sheet.getName() !== SHEET_NAME || range.getA1Notation() !== INPUT_CELL) return; const inputVal = e.value?.toString().trim(); if (!inputVal) return; // 校验输入格式是否为加减数值 const numMatch = inputVal.match(/^([+-]?\d+)$/); if (!numMatch) { range.clearContent(); SpreadsheetApp.getUi().alert('请输入正确的数值格式,例如+34、-21'); return; } const changeVal = Number(numMatch[1]); const targetRange = sheet.getRange(TARGET_CELL); const currentVal = Number(targetRange.getValue() || 0); // 更新目标单元格数值 targetRange.setValue(currentVal + changeVal); // 清空输入单元格 range.clearContent(); }
步骤3:生效验证
- 保存脚本项目,可自定义命名比如「D&D资源追踪工具」
- 首次使用需要授权脚本访问你的表格,按照提示操作即可,遇到Google的未验证应用提示,点击「高级」>「继续访问」即可,脚本为你自行创建无安全风险
- 回到表格,在输入单元格输入
+34、-21这类数值,按下回车后目标单元格会自动完成加减计算,输入单元格会自动清空恢复占位符状态
可选优化
- 若需要追踪多个资源,可在脚本中将输入单元格、目标单元格改成数组映射关系,就能实现多组资源的独立更新
- 可给目标单元格添加条件格式,数值低于设定阈值时高亮提示,方便快速判断资源不足情况
内容的提问来源于stack exchange,提问作者Trekkie
相关产品推荐
相关产品推荐

