将多个列作为函数中的参数传递

时间:2018-07-03 20:19:37

标签: google-sheets spreadsheet

我在这里使用此功能来汇总Google Spreadsheet中的彩色单元格:

function sumColoredCells(sumRange,colorRef) {
  var activeRange = SpreadsheetApp.getActiveRange();
  var activeSheet = activeRange.getSheet();
  var formula = activeRange.getFormula().toString();
  formula = formula.replace(new RegExp(';','g'),',');


  var rangeA1Notation = formula.match(/\((.*)\,/).pop();
  var range = activeSheet.getRange(rangeA1Notation);
  var bg = range.getBackgrounds();
  var values = range.getValues();

  var colorCellA1Notation = formula.match(/\,(.*)\)/).pop();
  var colorCell = activeSheet.getRange(colorCellA1Notation);
  var color = colorCell.getBackground();

  var total = 0;

  for(var i=0;i<bg.length;i++)
    for(var j=0;j<bg[0].length;j++)
      if( bg[i][j] == color )
        total=total+(values[i][j]*1);
  return total;
};

现在我需要将多个列作为第一个参数传递给函数,我不知道该怎么做...我想做这样的事情:

=sumColoredCells((B2:B17,D2:D17),B2)

参数之间用逗号分隔,但列范围也是如此。

如何将它们分开? 谢谢

0 个答案:

没有答案