Google apps script GoogleSheets:我如何编写一个基于颜色计算单元格数量的自定义公式?
我目前在网上找到了以下代码,但是我得到了一个错误“TypeError:无法读取null的属性'pop'(第6行,文件“code”)” 我希望能够创建一个自定义公式,然后可以像常规公式一样使用它来链接和引用单元格。此代码的其他版本将单元格引用作为静态硬代码,因此我想使用此版本。任何帮助都是非常感谢的-我是新手,所以我可能错过了一些非常明显的东西Google apps script GoogleSheets:我如何编写一个基于颜色计算单元格数量的自定义公式?,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我目前在网上找到了以下代码,但是我得到了一个错误“TypeError:无法读取null的属性'pop'(第6行,文件“code”)” 我希望能够创建一个自定义公式,然后可以像常规公式一样使用它来链接和引用单元格。此代码的其他版本将单元格引用作为静态硬代码,因此我想使用此版本。任何帮助都是非常感谢的-我是新手,所以我可能错过了一些非常明显的东西 函数countColoredCells(countRange,colorRef){ var activeRange=SpreadsheetApp.get
函数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(colorcella1表示法);
var color=colorCell.getBackground();
var计数=0;
对于(var i=0;i计算活动范围的背景色
function countBGColors() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getActiveSheet();
var rg=sh.getActiveRange();
var bA=rg.getBackgrounds();
var color={cA:[]};
for(var i=0;i<bA.length;i++) {
for(var j=0;j<bA[i].length;j++) {
if(!color.hasOwnProperty(bA[i][j])) {
color[bA[i][j]]=1;
color.cA.push(bA[i][j]);
}else{
color[bA[i][j]]+=1;
}
}
}
sh.getRange(1,1,1,50).setBackground('#ffffff');
sh.getRange(1,1,1,50).setValue('');
sh.getRange(1,1,1,color.cA.length).setBackgrounds([color.cA]);
for(var i=0;i<color.cA.length;i++) {
sh.getRange(1,i+1).setValue(color[color.cA[i]])
}
}
函数countBGColors(){
var ss=SpreadsheetApp.getActive();
var sh=ss.getActiveSheet();
var rg=sh.getActiveRange();
var bA=rg.getBackgrounds();
var color={cA:[]};
对于(var i=0;i