#google-apps-script
#google-приложения-скрипт #google-sheets
Вопрос:
Я пытаюсь создать функцию в Google scripts, которая применяет sumif ко всем листам, кроме первого (поскольку он работает как сводный лист). Другими словами, я хочу, чтобы одна и та же функция выполнялась на нескольких листах и на каждом листе выполняла функцию sumif. Это связано с тем, что столбец условий может располагаться в любом порядке, а количество листов постоянно растет. Вот код, который я пытаюсь использовать для выполнения задачи.
Cond = имя для поиска (строка), Range = Диапазон, в котором находится имя (первый столбец) и значение, Col = В каком столбце содержится значение для суммирования (иначе говоря, если диапазон равен A: B, а имя равно A, тогда Col должно быть 2)
function sumIfAllSheets(cond,range,col) {
var sheet = []
var values = []
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var sum = 0;
for (var i = 1; i < sheets.length ; i ) {
sheet = sheets[i];
values = sheet.getRange(range).getValues();
for (var j in values) {
if (typeof(values[j][0]) == 'number' amp;amp; values[j][0] == cond) {
sum = values[j][col-j];
}
}
}
Logger.log(sum)
return sum;
}
По какой-то причине он оценивается только в 0. Любая помощь приветствуется, заранее благодарю!