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