Как посчитать ячейку зеленого цвета в гугл листе - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть случай, когда мне нужно посчитать, если ячейка имеет цвет "зеленый" в листе Google. Я пробовал несколько адонов, но они не работали. Я ищу решение с помощью сценария или формулы.

У меня есть около 4 значений зеленого цвета, как показано в приложении ниже

enter image description here

Пробовал, но возвращает ноль

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);
}

Спасибо

1 Ответ

0 голосов
/ 30 апреля 2020

Вы можете подсчитать зеленые ячейки с помощью Google Apps Script, используя метод getBackgrounds ()

Пример:

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);  
}

ОБНОВЛЕНИЕ

Если если вы хотите запустить функцию для нескольких столбцов, вам нужно преобразовать массив 2D-фонов в одномерный, чтобы запустить указанную выше функцию. Это можно сделать с помощью flat () . Итак:

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