我正在尝试在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。不胜感激,谢谢您!