Главное, что можно сделать из простого - это вместо 50 вызовов делать один вызов на диапазон.
Код (грубый пример):function GETDATE(input) {
if (input) {
if (typeof input.map === "function") return input.map(GETDATE);
return Utilities.formatDate(new Date(), "GMT+03:00", "HH:mm:ss");
} else
return '';
};
В самой таблице нужно будет не растягивать формулу, как обычно, а указать ее в первой ячейке, но в параметры передать диапазон:
=GETDATE(A3:A53)
Это должно немного снизить нагрузку. Когда пересчитывается весь столбец A3:A53, то по цепочке произойдет не 50 запросов, а один. Хотя визуально обновится весь столбец с датами.
Далее нужно смотреть, как устроена сама таблица. Если в A3 формула и она постоянно пересчитывается, то это плохо.
Еще такое (не очень красивое) решение. Можно сделать кнопку, которую, предполагается, нужно нажимать не часто. То есть пользователь редактировал таблицу минут 10, а затем нажимает кнопку, и соответствующий скрипт проставляет даты. Погрешность увеличится, удобство уменьшится, и отдельный вопрос, как это всё сделать, но в
лимиты можно будет влезть.