我正在使用Google Sheets来计算我的举重目标。不同的训练是基于我每次举起的高分的不同百分比。
我一直在用"=天花板((0.8*A3/5),1)*5"来计算每天的计划,以表示A3中地狱的80%,四舍五入到可以被五整除的值。这是不可维护的。
我现在正在使用脚本编辑器来提供自定义函数。"=五次("卧推")"让我可以进行五次卧推。
这很有效,除非我改变了价值观。我在每个最大提升上都放了一个命名的范围,这样我就可以调用getRangeByName,通过名称而不是单元坐标来获取值。但是我创建的函数不会再次被调用,所以即使在刷新页面后,我也会不断看到过时的值。
我发现另一篇帖子暗示getRangeByName有第二个arg,可以设置为now()来刷新缓存。试过了,看起来已经过时了。我没有发现任何其他关于正在缓存的命名范围的信息。
当命名范围更新时,我如何告诉我的脚本它需要重新运行?表中是否有某种观察者/听众/观察者?如果不是,我对命名范围的技术持开放态度——命名范围只是我在命名变量时遇到的第一件事。
谷歌的脚本缓存永远不会让它在没有恶作剧的情况下工作。期望foo('bar')
将是确定性的,总是返回相同的东西。我一直在传递命名范围的名称,希望可以使用getRangeByName并将该名称用作标签。
相反,我只是使用范围作为arg,并传递第二个字符串作为标签:foo(bar, "Bar label")
。它有点冗长,但比我试图欺骗脚本服务器的东西要少得多。伙计们,不要对抗框架。