Когда следует создавать функции?
Пример заметного количества функций https://github.com/contributorpw/lodashgs/blob/mas... Время работы скрипта растет минимально. Многие пользуются. Дело не в размере. Тем более, что скрипты хорошенько сжимаются перед исполнением. И вот этот файл https://github.com/contributorpw/alasqlgs/blob/mas... (не открывать при медленной сети) работает нормально даже в качестве пользовательской функции, а там, на секундочку, всего полминуты времени исполнения.

Вы привели в примере SpreadsheetApp.flush(). Этот метод останавливает все расчеты и пересчитывает все, что находится у вас в Таблице. Вероятно, из-за него у вас и проблемы.

Судя по предыдущим вашим вопросам, вы усиливаете работу интерфейса, давите на впечатление. Ну, так в браузере оно будет работать так как будет работать, и заставить это всё работать быстрее не получится.

Совет. Откажитесь от 
Всё выделяется сразу. Теперь видно с каким диапазоном работаю. Намного более понятно что попадает в значения диапазона.
, потому что это все ерунда, и никому не надо смотреть на экран, чтобы понимать, что там работает, а что нет. Пользователю нужно знать три вещи:

Еще не считало
Еще считает
Уже посчитало

Остальное для него мрак и туман, а вы тратите на них время.
Ну без кода говорить о какой либо оптимизации нет смысла.

Общие принципы такие, старайтесь реже обращаться к документам и диску, если вы это делаете.

Если вы работает с таблицей старайтесь реже перерисовывать интерфейс (spreadsheet.flush()).

Опять же нужен ваш код чтобы понимать что вы делаете.

---
Максим Стоянов (stomaks), pазработчик Google Apps Script.
g-apps-script.com
stomaks.me