У меня есть электронная таблица Google с данными расписания; у него есть лист на каждый месяц, каждый лист состоит из шести блоков столбцов, по одному блоку на клиента.
Я создал сводную таблицу, которая показывает общую сумму для каждого клиента и отображает ее в виде списка:
function getClientTotals(sheetname, colcount)
{
colcount = colcount ? colcount : 6;
var res;
var ss = SpreadsheetApp.openById('myid_goes_here');
if(ss)
{
res = [];
var totrow = ss.getRange(sheetname + '!A1:ZZ1').getValues()[0];
for(var i = 0; i < totrow.length; i += colcount)
{
res.push([totrow[i], totrow[i + colcount - 1]]);
}
}
return res;
}
Затем я просто добавил ячейку в свой сводный лист, содержащий =getClientTotals($C$7,$C$8), который передает имя листа за месяц и количество столбцов для каждого клиента (в случае модификаций «схемы».
Все это работает нормально, но не обновляется при изменении исходных данных. Я добавил триггер onEdit; нет радости. Он обновляется, если вы перейдете в редактор сценариев и нажмете «Сохранить», но это бесполезно. Я что-то упускаю?
