工作簿中所有工作表的自定义sumif函数-Google Sheets脚本

时间:2019-03-18 16:10:18

标签: google-apps-script

我正在尝试在Google脚本中创建一个函数,该函数将sumif应用于除第一个表之外的所有表(因为它用作摘要表)。换句话说,我希望同一功能可以在多张纸上运行,并在每张纸上执行sumif函数。这是因为条件列可以按任何顺序排列,并且张数不断增长。这是我要用来完成任务的代码。

Cond =要查找的名称(字符串), 范围=名称(第一列)和值所在的范围, 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。不胜感激,谢谢您!

0 个答案:

没有答案