我正在努力计算一个区域中符合“活动”条件的彩色单元格的数量。如果单元格不符合标准(在范围$T9:$BL9中为‘淡灰色3’,在范围$T$2:$BL$2中为“活动”),则不能计算它。如何编辑当前脚本以对此进行调整?
function countColoredCells(countRange,colorRef) {
var activeRange = SpreadsheetApp.getActiveRange();
var activeSheet = activeRange.getSheet();
var formula = activeRange.getFormula();
var rangeA1Notation = formula.match(/\((.*)\,/).pop();
var range = activeSheet.getRange(rangeA1Notation);
var bg = range.getBackgrounds();
var values = range.getValues();
var colorCellA1Notation = formula.match(/\,(.*)\)/).pop();
var colorCell = activeSheet.getRange(colorCellA1Notation);
var color = colorCell.getBackground();
var count = 0;
for(var i=0;i<bg.length;i++)
for(var j=0;j<bg[0].length;j++)
if( bg[i][j] == color )
count=count+1;
return count;
};
发布于 2022-09-01 14:29:34
试试这个:
function countColoredCells(countRange,colorRef) {
const ss = SpreadsheetApp.getActive();
var activeRange = SpreadsheetApp.getActiveRange();
var activeSheet = activeRange.getSheet();
var formula = activeRange.getFormula();
var rangeA1Notation = formula.match(/\((.*)\,/).pop();
var range = activeSheet.getRange(rangeA1Notation);
var bg = range.getBackgrounds();
var colorCellA1Notation = formula.match(/\,(.*)\)/).pop();
var colorCell = activeSheet.getRange(colorCellA1Notation);
var color = colorCell.getBackground();
var count = 0;
bg.forEach((r,i) => {
r.forEach((c,j) => {
if(c == color) {
count++;
}
})
})
return count;
};
https://stackoverflow.com/questions/73569757
复制相似问题