我正在尝试根据背景颜色计算单元格中的值。有人在网上搜索时得到了一些帮助我没有得到完整的解决方案。有没有人帮我解决这个问题。我有来自在线搜索的示例代码脚本。
此处粘贴的脚本也是对值进行分组(例如,如果我在三个单元格中有值A,则应将值返回为3,而不是返回AAA。有人可以帮助我使用脚本来计算值并根据背景颜色返回
先谢谢,
这是脚本:
function sumBackgroundColors(rangeString, color) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getActiveSheet();
var sumRange = s.getRange(rangeString);
var sum = 0;
var sumRangeBackground = sumRange.getBackgroundColors();
var sumRangeValues = sumRange.getValues();
for(var row = 0; row < sumRangeBackground.length; row++ ) {
for(var col = 0; col < sumRangeBackground[0].length; col++ ) {
if( sumRangeValues[row][col]=="LG M"&& sumRangeBackground[row][col] == color ) {
sum = sum + parseFloat(sumRangeValues[row][col]);
}
}
}
return sum;
}
答案 0 :(得分:2)
我建议您不要使用自定义函数来执行此操作,因为它具有缓存功能(解释here)。
function countBackgroundColors() {
var rangeString = "A1:A100";
var color = "green";
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getActiveSheet();
var range = s.getRange(rangeString);
var count = 0;
var rangeColors = range.getBackgroundColors();
for( var i in rangeColors )
for( var j in rangeColors[i] )
if( rangeColors[i][j] == color )
++count;
return count;
}