Пользовательская функция sumif для всех листов в книге - Google Sheets Script - PullRequest
0 голосов
/ 18 марта 2019

Я пытаюсь создать функцию в скриптах Google, которая применяет суффикс ко всем листам, кроме первого (так как он работает как сводный лист).Другими словами, я хочу, чтобы одна и та же функция выполнялась на нескольких листах и ​​на каждом листе выполняла функцию суммирования.Это связано с тем, что столбец условий может быть в любом порядке, а количество листов постоянно увеличивается.Вот код, который я пытаюсь использовать для выполнения задачи.

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' && values[j][0] == cond) {
          sum += values[j][col-j];
        }   
      }
    }

  Logger.log(sum)
    return sum;
}

По некоторым причинам оно оценивается только в 0. Любая помощь приветствуется, спасибозаранее!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...