Google Spreadsheets имеют немало плюсов, но для программиста это ад немногим менее адовый, чем, скажем, мобильная разработка для Android. Интересно, все продукты Google такие?..

Во-первых, это JavaSсript, а где есть JavaSсript, там что?.. Вермишель из коллбеков.
Во-вторых, это JavaSсript не один, а два разных - есть GoogleScript и есть, собст-но, JavaSсript. А они разные, чувак, и об этих отличиях ты узнаешь в самых неожиданных местах своего кода...
В-третьих, это клиент-серверная архитектура кода, который ты запускаешь в своём браузере. Клиент-серверная, Карл! Твоя таблица и её скрипты - это сервер, а всплывающие формы - это его клиенты, ты должен писать их отдельно на разных языках программирования и обеспечить им интерфейсы асинхронного взаимодействия, как если бы они находились в разных галактиках... При этом сама таблица может являться клиентом относительно внешних источников и серверов Гугла. Электронная таблица - как микросервисная архитектура, а?
В-третьих, это чуть более чем полностью открытый код и открытые данные. Защитить какую-то существенную часть кода можно, инкапсулировав её в standalone, но это всё, что можно сделать для реализации данных ограниченного доступа.

Меня сегодня спросили, что такое клиентский код для Google-таблиц... вот что ответить человеку? Что тут целая иерархия из клиент-серверных отношений выстроена и таки надо разобраться какой "клиент" имеется в виду?