You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求修改Google Sheets背景色单元格统计脚本支持多颜色

支持多颜色统计的Google Sheets脚本修改方案

完全可行,以下是调整后的脚本,可统计目标范围内匹配你定义的任意多种颜色的单元格总数:

function countColoredCells(countRange, ...colorRefs) {
  var activeRange = SpreadsheetApp.getActiveRange();
  var activeSheet = activeRange.getSheet();
  var formula = activeRange.getFormula();
  
  // 提取统计范围的A1标记
  var rangeA1Notation = formula.match(/\((.*?)(?:,|$)/).pop();
  var range = activeSheet.getRange(rangeA1Notation);
  var bg = range.getBackgrounds();
  
  // 收集所有目标颜色的十六进制值
  var targetColors = [];
  colorRefs.forEach(function(ref) {
    var colorCell = activeSheet.getRange(ref);
    targetColors.push(colorCell.getBackground());
  });
  
  var count = 0;
  
  // 遍历单元格,统计匹配任意目标颜色的数量
  for(var i=0;i<bg.length;i++){
    for(var j=0;j<bg[0].length;j++){
      if(targetColors.includes(bg[i][j])){
        count++;
      }
    }
  }
  return count;
};

使用方法

在Google Sheets单元格中输入公式,格式如下:

=countColoredCells(统计范围, 颜色单元格1, 颜色单元格2, ..., 颜色单元格7)

示例:=countColoredCells(A1:C10, E1, E2, E3, E4, E5, E6, E7),其中E1到E7是你预先设置好对应7种目标颜色的单元格。

关键改动说明

  • 采用剩余参数语法...colorRefs,允许传入任意数量的颜色单元格引用
  • 新增targetColors数组,批量存储所有需要统计的颜色十六进制值
  • 判断条件从单一颜色匹配改为检查单元格颜色是否存在于目标颜色数组中

内容的提问来源于stack exchange,提问作者spicypat2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 16:40:04