如何计算 google sheet 中绿色的单元格

How to count a cell which is green in color in google sheet

我有一个情况需要计算 google sheet 中单元格的颜色是否为 "green"。 我尝试了几个 adons 但它们没有用。我正在通过脚本或公式寻找解决方案。

我有大约 4 个绿色值,如下面的附件所示

试过了,但是 returns 零

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  //define here range of interest
  var range = sheet.getRange("BG4:BO");
  var backgrounds = range.getBackgrounds();
  var counter = 0;
  var green = "00ff00"
  for (var i = 0; i < backgrounds.length; i++){
    if(backgrounds[i]== "#00ff00")
      counter++;
  }
  Logger.log(counter); 
  sheet.getRange(3, 59).setValue(counter);
}

谢谢

您可以使用 getBackgrounds()

方法使用 Google Apps 脚本对绿色单元格进行计数

样本:

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  //define here range of interest
  var range = sheet.getRange("A1:A10");
  var backgrounds = range.getBackgrounds();
  var counter = 0;
  var green = "#00ff00";
  for (var i = 0; i < backgrounds.length; i++){
    if(backgrounds[i]== green)
      counter++;
  }
  Logger.log(counter);  
}

更新

如果您想 运行 多个列上的函数,您需要将二维背景数组转换为一维背景数组才能 运行 上面的函数。这可以通过 flat() 来完成。所以:

...
var backgrounds = range.getBackgrounds();
backgrounds = backgrounds.flat();
var counter = 0;
...