Google apps script 工作簿中所有工作表的自定义sumif函数-谷歌工作表脚本

Google apps script 工作簿中所有工作表的自定义sumif函数-谷歌工作表脚本,google-apps-script,Google Apps Script,我试图在google脚本中创建一个函数,将sumif应用于除第一个表外的所有表(因为它作为摘要表工作)。换句话说,我希望相同的函数在多个工作表上运行,并在每个工作表上执行一个sumif函数。这是因为“条件”列可以是任意顺序,并且图纸数量不断增加。下面是我试图用来完成任务的代码 Cond=要查找的名称(字符串), 范围=名称(第一列)和值所在的范围, Col=哪列包含要求和的值(如果范围为A:B,名称为A,则Col应为2) 功能汇总表(条件、范围、列){ 变量表=[] var值=[] var sh

我试图在google脚本中创建一个函数,将sumif应用于除第一个表外的所有表(因为它作为摘要表工作)。换句话说,我希望相同的函数在多个工作表上运行,并在每个工作表上执行一个sumif函数。这是因为“条件”列可以是任意顺序,并且图纸数量不断增加。下面是我试图用来完成任务的代码

Cond=要查找的名称(字符串), 范围=名称(第一列)和值所在的范围, Col=哪列包含要求和的值(如果范围为A:B,名称为A,则Col应为2)

功能汇总表(条件、范围、列){
变量表=[]
var值=[]
var sheets=SpreadsheetApp.getActiveSpreadsheet().getSheets();
var总和=0;
对于(变量i=1;i
出于某种原因,它的计算结果仅为0。感谢您的帮助,提前谢谢

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;
}