投资组合跟踪器JavaScript脚本未自动更新问题排查求助
问题根因
你删除A2单元格公式的操作直接阻断了脚本的核心执行逻辑:
- 脚本前几行的核心逻辑是从A2单元格读取
rowRef基准行号,再通过8 + rowRef的偏移定位读取H列的激活开关值,只有开关值等于1时才会执行数据更新、写入最后更新时间的操作 - 你删除了A2的
=MATCH("BTC", B:B,0)公式后,rowRef拿到的是空值/无效值,激活开关定位失效,if (active == 1)的判断永远不成立,自然不会有任何更新动作,也不会出现更新提示文本
修复步骤
- 恢复基准行定位
如果你表格中还保留了固定的基准币种条目,可在A2单元格写入公式=MATCH("你的基准币种名称", B:B, 0);如果不需要动态定位,直接在A2单元格填入对应基准行的行号数值即可。 - 检查激活开关状态
定位到表格H列的第8 + A2单元格数值行,确认该单元格的取值为1,这是脚本执行的总开关。 - 可选:简化脚本逻辑(无需依赖表格公式)
如果你不需要原脚本的动态行定位逻辑,可以直接修改RefreshImports函数中的基准行取值逻辑:
把var rowRef = sheet.getRange(2,1).getValue();改为固定数值,比如你现在的激活开关在H列第15行,就写为var rowRef = 7(8+7=15,可根据你实际的表格结构调整数值),改完后无需再保留A列的MATCH公式。 - 验证触发器配置
进入Apps Script的触发器管理页,确认你设置的5分钟定时触发器绑定的是RefreshImports函数,且已经授予了脚本运行的所有必要权限,触发器执行记录无报错。
内容的提问来源于stack exchange,提问作者grandaobimba
相关产品推荐
相关产品推荐

