Первоначально я спрашивал об этом в WebApps, думая, что мне не хватает трюка с Google.Там я получил ответ, что для этого потребуется пользовательская функция.
https://webapps.stackexchange.com/questions/129068/recalculate-google-sheet-on-demand
Вот мой оригинальный вопрос:
У меня есть следующая формула влист:
=if(E1="HOLD",,query(Cust_Orders!B6:Z5000,"Select Y,G,I,H,K where H>0 "))
Если E1 - это раскрывающийся список со значениями HOLD и FETCH
Пересчет при переходе на FETCH занимает около 13 секунд.
Но когда этов режиме HOLD запрос не выполняется, и все становится пустым.Не то, что я хочу.
Я стараюсь не пересчитывать этот запрос каждый раз, когда я изменяю диапазон Cust_Orders, но сохраняю старые значения, поскольку две разные сводные таблицы, которые просматривают другие люди, зависятна нем.
Все настройки Google Recalc Recalc находятся в состоянии изменения и foo '
Есть ли способ сделать это?
Пользовательские функции обновляются только при изменении одного из их параметров.Так что, если функция зависит только от ячейки HOLD / FETCH, но выполняет формулу, являющуюся ячейкой запроса, я думаю, что я выиграю.
Мое исследование:
Этот ответ google sheet customФункция встроенной функции специально указывает оператору, как делать то, что он хочет, на языке сценариев.Я подозреваю, что переписать запрос в appscript не будет чистой победой.
Эта ссылка Использование связанных сценариев Google для создания объекта запроса
было предложено в качестве решения,но это фактически переписывает мою встроенную функцию в сценарии.Я хочу использовать скрипты настолько редко, насколько это возможно, и настолько обобщенно, насколько это возможно, поскольку это облегчает долгосрочное обслуживание и модификацию.
Приведенная выше функция запроса является примером.Я ищу более общее решение, позволяющее мне использовать произвольную формулу с использованием того же сценария.
В этом обсуждении на форумах по продуктам Google: https://support.google.com/docs/forum/AAAABuH1jm01F-8MzzCxbY/?hl=en&gpf=%23!topic%2Fdocs%2F1F-8MzzCxbY говорится, что нельзя вызывать встроенные модули изскрипты.Но этому вопросу почти 4 года.
Я тоже там задавал этот вопрос, но обычно я спрашиваю на форумах по продуктам Google: «Радуйся, Мария».
Жизнеспособное решение:
- Пример скрипта, вызывающего встроенную функцию.
- Ссылка на надстройку, позволяющую пересчитывать диапазонбыть включенным / выключенным
- Более общий метод, чем пользовательские формулы для управления перерасчетом.
Я НЕ хочу сценарий, который эмулирует желаемую встроенную в сценарий.