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

为CountColoredCells脚本添加条件判断的实现方法

修改Google Apps Script实现双条件有色单元格统计

修改后的完整脚本

function countColoredActiveCells(countRange, conditionRange, colorRef) {
  const activeSheet = SpreadsheetApp.getActiveSheet();
  
  // 获取统计区域的背景色(单行)
  const countRng = activeSheet.getRange(countRange);
  const bgColors = countRng.getBackgrounds()[0];
  
  // 获取条件区域的状态值(单行)
  const conditionRng = activeSheet.getRange(conditionRange);
  const conditionValues = conditionRng.getValues()[0];
  
  // 获取目标颜色的十六进制值
  const targetColor = activeSheet.getRange(colorRef).getBackground();
  
  let count = 0;
  
  // 遍历每一列,同时校验双条件
  for (let j = 0; j < bgColors.length; j++) {
    // 条件1:背景色匹配目标色;条件2:对应列的状态为"Active"
    if (bgColors[j] === targetColor && conditionValues[j] === "Active") {
      count++;
    }
  }
  
  return count;
}

关键改动说明

  • 新增条件参数:添加conditionRange参数,专门传入$T$2:$BL$2这个状态判断区域,实现列对应校验
  • 优化单行处理:因为统计区域($T9:$BL9)和条件区域都是单行,直接提取数组第0项,省去不必要的行循环
  • 双条件逻辑:循环时同时判断两个核心要求,确保只统计符合颜色且对应列状态为"Active"的单元格
  • 简化参数传递:移除原脚本中通过公式字符串解析范围的冗余逻辑,直接使用传入的参数,更可靠高效

使用方法

在表格任意单元格中输入公式(替换$A$1为实际的「light gray 3」颜色参照单元格):

=countColoredActiveCells($T9:$BL9, $T$2:$BL$2, $A$1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 20:48:19