跳至主要内容

Kutools for Office — 一套工具,五种功能。事半功倍。

如何在Google表格中根据单元格颜色计数或求和单元格?

Author Xiaoyang Last modified

在日常电子表格工作中,您可能会遇到需要根据特定单元格背景颜色来计数或求和单元格值的情况,如下方截图所示。例如,您可能希望仅统计或总计那些以特定颜色突出显示的单元格,以便通过类别或状态快速分析数据。本指南将介绍如何不仅在缺乏此类基于颜色计算内置支持的Google表格中实现这一目标,还将在提供多种方法(从内置功能到高级工具)的Microsoft Excel中实现这一目标。

了解如何处理基于颜色的数据分析可以使您的工作更高效,特别是当使用颜色标记状态、优先级或类别时。我们还将讨论不同的解决方案,比较它们的使用场景,并提供实用的操作提示以及错误提醒,以确保您的任务顺利进行。

count or sum cells based on cell color in Google sheet


使用脚本在Google表格中根据单元格颜色计数单元格值

Google表格没有直接提供基于背景颜色计数单元格的选项。但是,您可以使用自定义的Apps脚本来实现这一点。该脚本充当用户定义的函数,允许您像引用公式一样引用它。以下是设置和使用脚本的方法:

1. 点击工具 > 脚本编辑器以访问脚本环境。请参见截图:

Click Tools > Script editor in google sheets

2. 在项目窗口中,选择文件 > 新建 > 脚本文件以打开新的代码模块,如下所示:

click File > New > Script file to open a code window

3. 当提示时,输入新脚本代码的名称并确认。为脚本命名以帮助稍后识别其用途。

 enter a name for this script code

4. 单击确定,然后复制并粘贴以下代码以替换模块中的任何示例代码。确保完全按照提供的方式粘贴。

function countColoredCells(countRange,colorRef) {
  var activeRg = SpreadsheetApp.getActiveRange();
  var activeSht = SpreadsheetApp.getActiveSheet();
  var activeformula = activeRg.getFormula();
  var countRangeAddress = activeformula.match(/\((.*)\,/).pop().trim();
  var backGrounds = activeSht.getRange(countRangeAddress).getBackgrounds();
  var colorRefAddress = activeformula.match(/\,(.*)\)/).pop().trim();
  var BackGround = activeSht.getRange(colorRefAddress).getBackground();
  var countCells = 0;
  for (var i = 0; i < backGrounds.length; i++)
    for (var k = 0; k < backGrounds[i].length; k++)
      if ( backGrounds[i][k] == BackGround )
        countCells = countCells + 1;
  return countCells;
};

copy and paste the code into the code window

5. 保存此脚本文件,返回到您的表格,并像使用任何Google表格公式一样使用新函数。在空白单元格中输入:=countcoloredcells(A1:E11,A1) 以计数范围A1:E11中与A1颜色匹配的单元格。按Enter键获取结果。如果提示权限,请授权脚本在您的表格中运行。

注意A1:E11是您的数据范围;A1是要计数的颜色的参考单元格。确保参考单元格具有确切的颜色,并避免合并单元格以获得最佳可靠性。

enter a formula to get the result

6. 要计数其他颜色,请根据需要重复公式并使用不同的颜色参考单元格。如果您的范围发生变化,请相应调整公式中的范围。

如果您收到错误或意外结果,请仔细检查脚本是否已保存,并且您使用了正确的颜色参考。基于Apps脚本的函数仅在函数或其参数更改时重新计算——如果您以后重新着色单元格,请重新输入公式或再次按Enter键以刷新。


使用脚本在Google表格中根据单元格颜色求和单元格值

在Google表格中根据定义的单元格颜色求和单元格值需要使用类似的方法,使用Apps脚本。这对于财务表格、状态日志或任何颜色代表带有数值类别的场景尤其有用。

1. 在Google表格中,通过工具 > 脚本编辑器打开脚本编辑器。在项目窗口中,选择文件 > 新建 > 脚本文件以添加新的代码模块。在提示中分配一个独特的名称以帮助跟踪其用途,例如“SumColoredCells”。确认以创建模块。

click File > New > Script file to insert another new code module and type a name

2. 单击确定,并在新的代码模块窗口中,通过粘贴提供的求和彩色单元格脚本替换任何默认代码。仔细确保所有代码都已复制,因为缺少字符可能导致语法错误。

function sumColoredCells(sumRange,colorRef) {
  var activeRg = SpreadsheetApp.getActiveRange();
  var activeSht = SpreadsheetApp.getActiveSheet();
  var activeformula = activeRg.getFormula();
  var countRangeAddress = activeformula.match(/\((.*)\,/).pop().trim();
  var backGrounds = activeSht.getRange(countRangeAddress).getBackgrounds();
  var sumValues = activeSht.getRange(countRangeAddress).getValues();  
  var colorRefAddress = activeformula.match(/\,(.*)\)/).pop().trim();
  var BackGround = activeSht.getRange(colorRefAddress).getBackground();
  var totalValue = 0;
  for (var i = 0; i < backGrounds.length; i++)
    for (var k = 0; k < backGrounds[i].length; k++)
      if ( backGrounds[i][k] == BackGround )
        if ((typeof sumValues[i][k]) == 'number')
          totalValue = totalValue + (sumValues[i][k]);
  return totalValue;
};

copy and paste the code into the module window

3. 保存脚本后,返回到您的表格并在空白单元格中输入公式 =sumcoloredcells(A1:E11,A1),然后按Enter。此公式求和A1:E11中背景颜色与A1匹配的值。使用此函数时,请确保所有目标求和单元格均为数字;非数字值将被忽略。

注意A1:E11代表您的数据范围,而A1提供颜色参考。该公式仅求和可见的数字值——确保范围内的合并单元格或错误不会影响您的总计。

enter a formula to get the result

4. 您可以通过更改公式中的颜色参考单元格来复制上述过程,以对不同颜色类别求和值。如果您的数据更新或更改背景颜色,请记得刷新公式以获得更新后的输出。

如果求和结果为零或错误值,请验证范围是否包含数字并且颜色匹配是否准确。此外,如果仅单元格颜色发生变化,则重新计算不是自动的——编辑公式单元格以强制更新。


使用Kutools for Excel在Microsoft Excel中根据单元格颜色计数或求和单元格值

在Microsoft Excel中工作时,按颜色计数或求和单元格是一个常见的需求,特别是在项目管理、库存或质量控制报告中。Kutools for Excel 提供了一个专用的按颜色计数工具,使您能够直接通过背景或字体颜色获取计数和总计——这在处理较大的数据范围以及需要快速、可重复的结果时特别有帮助。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

安装Kutools for Excel后,按照以下步骤操作:

1. 突出显示您希望通过颜色计数或求和的范围,然后点击Kutools Plus > 按颜色计数。请参阅下面的截图以获取指导:

click Count by Color feature of kutools

2. 出现按颜色计数对话框。在颜色模式下设置标准格式化,并选择计数类型下的背景。仔细检查预览和选项:

set options in the Count by Color dialog box

3. 单击生成报告以创建一个新的工作表,其中包含范围内每种颜色的计数和求和细分。该报告包括彩色单元格的数量和总和,便于参考或进一步分析。

a new worksheet with the calculated results is generated

注意:此功能还可以根据条件格式或字体颜色计算值。对于动态分析,请使用条件格式规则;否则,该工具最适合用于静态颜色填充。源单元格颜色的任何更改都需要重新运行按颜色计数工具以获得更新的结果。如果遇到问题,请确认Kutools已激活并保持最新。

立即点击下载并免费试用Kutools for Excel!


最佳Office办公效率工具

🤖 Kutools AI 助手:以智能执行为基础,彻底革新数据分析 |代码生成 |自定义公式创建|数据分析与图表生成 |调用Kutools函数……
热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格且不丢失数据 | 四舍五入……
高级LOOKUP多条件VLookup|多值VLookup|多表查找|模糊查找……
高级下拉列表快速创建下拉列表 |依赖下拉列表 | 多选下拉列表……
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域与列……
特色功能网格聚焦 |设计视图 | 增强编辑栏 | 工作簿及工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按名单发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/倾斜/删除线等)……
15大工具集12项 文本工具添加文本删除特定字符等)|50+种 图表 类型甘特图等)|40+实用 公式基于生日计算年龄等)|19项 插入工具插入二维码从路径插入图片等)|12项 转换工具小写金额转大写汇率转换等)|7项 合并与分割工具高级合并行分割单元格等)| ……
Kutools支持多种语言——可选择英语、西班牙语、德语、法语、中文等40多种语言!

通过Kutools for Excel提升您的Excel技能,体验前所未有的高效办公。 Kutools for Excel提供300多项高级功能,助您提升效率并节省时间。 点击此处获取您最需要的功能……


Office Tab为Office带来多标签界面,让您的工作更加轻松

  • 支持在Word、Excel、PowerPoint中进行多标签编辑与阅读
  • 在同一个窗口的新标签页中打开和创建多个文档,而不是分多个窗口。
  • 可提升50%的工作效率,每天为您减少数百次鼠标点击!

所有Kutools加载项,一键安装

Kutools for Office套件包含Excel、Word、Outlook和PowerPoint的插件,以及Office Tab Pro,非常适合跨Office应用团队使用。

Excel Word Outlook Tabs PowerPoint
  • 全能套装——Excel、Word、Outlook和PowerPoint插件+Office Tab Pro
  • 单一安装包、单一授权——数分钟即可完成设置(支持MSI)
  • 协同更高效——提升Office应用间的整体工作效率
  • 30天全功能试用——无需注册,无需信用卡
  • 超高性价比——比单独购买更实惠