Google Sheets脚本需求:实现技能使用时MP消耗累加功能
Google Sheets JRPG技能能量消耗累加实现方案
核心逻辑
点击标记为「使用」的单元格时,自动将其右侧相邻单元格的消耗数值,累加到指定的「已消耗能量」固定单元格中(例:初始值-5,消耗值-10,累加后变为-15)。
实现步骤(无编程基础友好)
表格基础设置
- 先确定「已消耗能量」的固定单元格(示例中用
A1,你可以改成任意单元格,比如C10),在该单元格输入初始值(比如-5)。 - 在表格其他区域设置技能行:比如某列输入技能名称,相邻列输入「使用」(作为触发点击的单元格),再右侧一列输入对应的消耗数值(必须是数字,比如-10、-8等)。
- 先确定「已消耗能量」的固定单元格(示例中用
添加触发脚本
Google Sheets内置函数无法实现点击触发的累加操作,需要用简单的Apps Script脚本,操作如下:- 打开你的Google Sheets,点击顶部菜单栏的「扩展程序」>「Apps Script」,进入脚本编辑器。
- 删除编辑器里的默认代码,粘贴以下代码:
function onEdit(e) { // 修改这里的单元格地址,设置你的「已消耗能量」固定单元格 const energyTargetCell = SpreadsheetApp.getActiveSpreadsheet().getRange('A1'); const clickedCell = e.range; // 判断点击的是否是标记为「使用」的单元格 if (clickedCell.getValue() === '使用') { // 获取右侧相邻单元格的消耗值 const costCell = clickedCell.offset(0, 1); const costValue = costCell.getValue(); // 仅当消耗值为数字时执行累加 if (typeof costValue === 'number') { const currentEnergy = energyTargetCell.getValue() || 0; energyTargetCell.setValue(currentEnergy + costValue); } } } - 点击编辑器顶部的保存按钮,给脚本命名(比如「JRPG能量计算」)。
授权与使用
- 回到Google Sheets,第一次点击任意「使用」单元格时,会弹出权限请求提示,按照指引完成授权(需要允许脚本访问你的表格数据)。
- 授权完成后,点击「使用」单元格,右侧的消耗值就会自动累加到「已消耗能量」单元格中。
注意事项
- 「使用」单元格的内容必须严格是「使用」(大小写、空格都要一致),脚本才会触发。
- 消耗值单元格必须输入数字(正负数都支持),非数字内容不会触发累加。
- 「使用」和消耗单元格可以随意调整位置,只要「使用」单元格右侧紧邻的是消耗值单元格即可。
内容的提问来源于stack exchange,提问作者Mel Fuyuki
相关产品推荐
相关产品推荐

