@teodor7teodor7

Как пересчитать формулы по запросу?

Есть таблица, для нее написан скрипт. Данные переадически меняются, хранятся в кеше. В ячейках есть различные данные, с помошью формулы get('id1'), get('id2') ... и тд Идет запрос и получения данных из кеша. Данные могут поменяться необходимо их обновлять. Есть ли способ, что бы пересчитывать данные например выполнив функцию??? есть ли возможность пересчитывать все формулы на листе которые могут менять свое место положение?
  • Вопрос задан
  • 1783 просмотра
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Apps Script
Google Products Expert
Нет. Все формулы участвуют в одном цикле событий.

Вы можете только заставить полностью пересчитаться всю Таблицу, вызвав SpreadsheetApp.flush().

В пользовательских формулах от flush толку не будет. В этих формулах так же не работают set-операторы.

Использование CacheService мало полезно

5ecf2d47878ae972525511.png

Перевел весь скрипт в удобоваримый вид с сделал небольшой пример работы такой функции

/**
 * @OnlyCurrentDoc
 */

/**
 *
 * The TESTCACHESERVICE function
 *
 * @param {param} param
 * @return {number}
 * @customfunction
 */
function TESTCACHESERVICE(param) {
  const cache = CacheService.getScriptCache();
  const cached = param === 'break' ? 0 : +cache.get('cached') + 1 || 0;
  cache.put('cached', cached);
  return cached;
}


Пример в Таблице https://docs.google.com/spreadsheets/d/11Z1pT2y28B...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы