В моем ответе на В листах Google я могу обернуть стандартную функцию в пользовательскую функцию для контроля, когда она запускается? Я поделился идеей иметь пару кнопок, называемых "freeze" / "unfreeze"«контролировать, когда будет выполнен пересчет« дорогих формул ».
В этом случае вы можете« заморозить »диапазон с помощью пользовательской функции перед закрытием электронной таблицы, чтобы при следующем открытии она открывалась быстреезатем, когда вам нужно обновить замороженный диапазон, вы «размораживаете» его.
После публикации исходной версии ОП попросил простую версию, но поскольку моя первоначальная реализация была чем-то быстрым и грязным с вещами на испанском языке, которыми я поделилсятам только самые важные строки кода.Основными службами методов являются
- Глобальная переменная для хранения формулы, если она всегда будет одинаковой
copyTo
, чтобы перезаписать диапазон результатов формулы значениями, подобными copy-только для вставки значений clear
, чтобы удалить результаты формулы, вставленные ранее setFormula
, чтобы добавить формулу обратно в электронную таблицу.
Затем яЯ понял, что могу улучшить, выпустив бесплатное дополнение Google Sheets , которое использует PropertiesService
для реализации «хранилища формул» с функциями добавления / удаления / вывода списка формул и динамического меню вместо кнопок..
Еще одна попытка - использовать управляемый по времени триггер, который запускается, скажем, ночью, на тот случай, если вы забыли заморозить диапазон для результатов пользовательской функции.