1

У меня есть пользовательская функция в виде скрипта Google Spreadsheet, которая зависит от значений других ячеек. Он работает нормально, когда я помещаю его в ячейку, но затем, когда я изменяю данные в других ячейках, он остается неизменным. Как я могу сделать первую ячейку обновлять ее значение автоматически при изменении других ячеек?Автоматическое обновление пользовательской функции

ответ

4

Я нашел ответ, который не полностью меня радует, но это достаточно хорошо, я думаю. Если вы добавите функцию под названием onEdit в скрипт электронной таблицы, она будет вызываться каждый раз, когда материал редактируется. Таким образом, это код, который работал для меня: (у него есть некоторые детали, которые могли бы быть полезными, поэтому я оставил их неотредактированными)

function onEdit(event) { 
    if (SpreadsheetApp.getActiveSheet().getName().substr(0,5) == "thing") 
    SpreadsheetApp.getActiveSheet().getRange("I1").setValue(myCustomFunction()); 
} 

Это делает листы название которых начинается с thing, получить результат myCustomFunction в клетку I1 ,