Загрузка данных


function SUMBYCOLOR(sumRange, colorRef) {
  var activeRg = SpreadsheetApp.getActiveRange();
  var activeSht=SpreadsheetApp.getActiveSheet();
  var activeformula=activeRg.getFormula();
  var countRangeAddress = activeformula.match(/\((.*)\,/);
  var backgrounds = activeSht.getRange(countRangeAddress).getBackgrounds();
  var sumValues = activeSht.getRange(countRangeAddress).getValues(); 
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var values = sheet.getRange(range).getValues();
  var colorRefAddress = activeformula.match(/\,(.*)\)/).pop().trim();
  var BackGround = activeSht.getRange(colorRefAddress).getBackground();
  var totalValue = 0;
  

   for (var i = 0; i < backGrounds.length; i++)
    for (var k = 0; k < backGrounds[i].length; k++)
      if ( backGrounds[i][k] == BackGround )
        if ((typeof sumValues[i][k]) == 'number')
          totalValue = totalValue + (sumValues[i][k]);
  return totalValue;
};