rangeSpecification - >无法调用脚本

时间:2017-12-04 20:24:01

标签: javascript google-apps-script colors google-sheets custom-function

我正在尝试构建一个脚本,以计算我在一行中有多少背景颜色的单元格。 这就是我所拥有的:

function PegarCorFundo(rangeSpecification) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  return sheet.getRange(rangeSpecification).getBackgroundColor();
}

function ContarCorFundo(color, rangeSpecification) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var range = sheet.getRange(rangeSpecification);
  var x = 0;
  for (var i = 1; i <= range.getNumRows(); i++) {
    for (var j = 1; j <= range.getNumColumns(); j++) {
      var cell = range.getCell(i, j);
      if(cell.getBackgroundColor() == color)
        x++;
    }
  }
  return x;
}

问题是当我在Google表格中调用de function时。我打电话的时候 = ContarCorFundo(&#34;#ffff99&#34 ;; A1:A22),出现错误信息。

当我打电话= ContarCorFundo(&#34; #ffff99&#34 ;;&#34; A1:A22&#34;)时,没问题!

Segue o link da Planilha em uso:https://docs.google.com/a/crescercampinas.com.br/spreadsheets/d/1jkoIEwNCRU7uX7dTZK9ZLCR_zOO3q4fI_ulzhKSs_yA/edit?usp=sharing

如何在不使用引号的情况下调用函数或使用背景颜色计算单元格的更好方法?

1 个答案:

答案 0 :(得分:0)

如果您不使用引号,则不会将该范围的值传递给该函数。 .getBackground()方法需要一个范围对象。因此,您必须确保将范围传递给该函数。请注意,还有一个名为Custom Count and Sum的加载项,内置了此功能。