组合单元格范围以按颜色搜索

时间:2017-12-14 04:17:14

标签: google-sheets cells

虽然我没有在任何地方找到答案,但我的问题很简单。

我正在使用自定义脚本函数来计算选定范围内指定颜色的单元格。

  

countColoredCells(范围;范围)

第一个范围是要查看的单元格范围,第二个范围是具有我们正在寻找的颜色的单元格。

这是我正在使用的脚本:

    /**
* @param {range} countRange Range to be evaluated
* @param {range} colorRef Cell with background color to be searched for in countRange
* @return {number}
* @customfunction
*/

function countColoredCells(countRange,colorRef) {
  var activeRange = SpreadsheetApp.getActiveRange();
  var activeSheet = activeRange.getSheet();
  var formula = activeRange.getFormula();

  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 count = 0;

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

现在它适用于让我们说countColoredCells(A1:A3;W1),但我想要做的是在不同的标签中查看多个单元格范围,而不仅仅是一个。但是如果我尝试countColoredCells(A1:A3;C1:C3;W1)(Sheets在选择时按住CTRL时会做什么),则该函数不再具有正确数量的参数。 我遇到的问题是我想选择单元格的多个范围,而不是(这就是为什么数组无法解决我的问题)。

所以问题非常简单:是否应该调整脚本,或者是否有实用的方法将范围组合成新的单元格范围(符号,函数......)?

提前致谢

编辑:目前,我一次将这个脚本用于一个范围,然后是所有返回结果的总和。不是最好,但它的工作原理。仍然把问题留给那些无法负担所有费用并且没有自动化的人。

0 个答案:

没有答案