Excel怎么按颜色求和 统计不同填充色单元格数值方法

夜静同学_3347

夜静同学_3347

2026-05-31

713人浏览

原创

Excel原生函数无法按单元格填充色求和,需用筛选+SUBTOTAL、GET.CELL定义名称、VBA自定义函数或Power Query四种方法实现;其中筛选法最快但不自动更新,VBA法最灵活且支持RGB精确匹配。

excel怎么按颜色求和 统计不同填充色单元格数值方法

你需要快速汇总表格中红色、绿色等不同填充色单元格里的数值,但SUMIF对颜色完全没反应——这是因为Excel原生函数根本不读取单元格背景色,必须绕过这个限制才能实现按色求和。

用筛选+SUBTOTAL临时求和(最快上手)

适合只查一次、不需自动更新的场景,5秒出结果。

1、选中含数据的整列(如A1:A100),确保第一行是标题或数据起始行。

2、按Ctrl+Shift+L启用筛选 → 点击列标题下拉箭头 → 【按颜色筛选】→ 选择你要统计的填充色(例如“绿色填充”)。

3、此时只有同色单元格可见,直接在状态栏看右下角显示的“求和”值;若要写入单元格,在空白处输入公式:=SUBTOTAL(109,A1:A100),109代表仅对可见单元格求和,A1:A100必须与筛选区域完全一致。

注意:如果筛选后状态栏没显示求和,右键状态栏 → 勾选“求和”。此法不保存筛选状态,关闭再打开就得重筛。

用GET.CELL定义名称+辅助列(兼容旧版Excel)

适用于Excel 2019及更早桌面版,不支持Excel for Web或Mac新版,但无需启宏。

方法一:手动定义颜色编号

1、按Ctrl+F3打开【名称管理器】→【新建】。

2、名称填ColorID,引用位置填:=GET.CELL(63,Sheet1!$A$1)(Sheet1替换成你实际表名,$A$1是首个带颜色的数据单元格)。

3、在B1输入=ColorID,向下拖满整列,B列会显示每个A列单元格的ColorIndex编号(如红色=3,绿色=4,黄色=6)。

4、在D1输入目标编号(比如想算绿色就填4),E1输入公式:=SUMIF(B:B,D1,A:A),回车即得结果。

方法二:批量命名颜色区域(避免填编号)

1、按Ctrl+F →【选项】→【格式】→【从单元格选取格式】→点一个绿色单元格→【查找全部】→Ctrl+A全选→关闭窗口。

2、此时所有绿色单元格已被选中,在左上角名称框输入“绿色”,按回车确认命名。

3、同样操作为黄色、红色分别命名“黄色”“红色”。

4、任意空白单元格输入=SUM(绿色)即可求和。注意:新增带色单元格不会自动加入该名称,必须重新执行查找→命名流程。

用VBA自定义SumByColor函数(一劳永逸)

只要写一次代码,以后所有工作簿都能复用,支持RGB精确匹配,且能随颜色变化自动刷新结果。

记录数据一键导出 Excel/CSV(带样式)
记录数据一键导出 Excel/CSV(带样式)

把记录数组导出为带样式的 Excel(xlsx) 或带 BOM 的 CSV。支持列配置(表头/宽度/顺序)、表头冻结首行、斑马纹、布尔值转「是/否」、数组换行、CSV 中文防乱码。零依赖。触发词:导出 Excel、导出 CSV、记录转表格、列配置导出、数据导出、表格美化、JSON 转表格。

下载

第一步:插入模块并粘贴代码

1、按Alt+F11打开VBA编辑器 → 在左侧工程资源管理器中右键当前工作簿 →【插入】→【模块】。

2、在新模块窗口中粘贴以下完整代码:

Function SumByColor(sumRange As Range, colorRef As Range) As Double
Dim c As Range
Dim total As Double
total = 0
For Each c In sumRange
If c.Interior.Color = colorRef.Interior.Color Then
total = total + c.Value
End If
Next c
SumByColor = total
End Function

第二步:在Excel中调用函数

1、关闭VBA编辑器,返回Excel界面。

2、确保文件已另存为.xlsm格式(否则宏将被禁用)。

3、在任意单元格输入公式:=SumByColor(A1:A100,B1),其中A1:A100是待求和数值区域,B1是带目标颜色(如绿色)的样本单元格。

注意:首次使用需启用宏,每次打开文件时弹出提示必须点“启用内容”,否则函数返回#NAME?错误。

用Power Query提取颜色编号后聚合(适合大数据量)

当表格有上万行、颜色规则复杂且需定期刷新时,Power Query比VBA更稳定,还能保留原始格式逻辑。

1、选中数据区域 →【数据】选项卡 →【从表格/区域】→ 勾选“表包含标题”→【确定】进入Power Query编辑器。

2、选中数值列(如“销售额”)→【转换】→【数据类型】→ 改为“整数”或“小数”。

3、点击【高级编辑器】,在let语句后添加一行:
SourceWithColor = Table.AddColumn(#"更改的类型", "ColorCode", each Excel.CurrentWorkbook(){[Name="Sheet1"]}[Content]{0}[ColorIndex]),【此步需先用GET.CELL在辅助列生成ColorIndex,再导入Query】。

4、选中ColorCode列 →【转换】→【数据类型】→【整数】。

5、【主页】→【分组依据】→ 分组列选ColorCode,新列名填“SumOfValue”,操作选“求和”,列选原始数值列(如“销售额”)→【确定】。

6、关闭并上载 → 结果自动写入新工作表,颜色编号与求和值一一对应。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

excel

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
excel对比两列数据异同
excel对比两列数据异同

Excel作为数据的小型载体,在日常工作中经常会遇到需要核对两列数据的情况,本专题为大家提供excel对比两列数据异同相关的文章,大家可以免费体验。

2023.07.25

5841

7

excel重复项筛选标色
excel重复项筛选标色

excel的重复项筛选标色功能使我们能够快速找到和处理数据中的重复值。本专题为大家提供excel重复项筛选标色的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.31

3676

5

excel复制表格怎么复制出来和原来一样大
excel复制表格怎么复制出来和原来一样大

本专题为大家带来excel复制表格怎么复制出来和原来一样大相关文章,帮助大家解决问题。

2023.08.02

3460

3

excel表格斜线一分为二
excel表格斜线一分为二

在Excel表格中,我们可以使用斜线将单元格一分为二。本专题为大家带来excel表格斜线一分为二怎么弄的相关文章,希望可以帮到大家。

2023.08.02

1444

3

excel斜线表头一分为二
excel斜线表头一分为二

excel斜线表头一分为二的方法有使用合并单元格功能方法、使用文本框功能方法、使用自定义格式方法。本专题为大家提供excel斜线表头一分为二相关的各种文章、以及下载和课程。

2023.08.02

717

5

绝对引用的输入方法
绝对引用的输入方法

绝对引用允许在公式中引用一个固定的单元格,而不会随着公式的复制和粘贴而改变引用的单元格。本专题为大家提供绝对引用相关内容的文章,大家可以免费体验。

2023.08.09

5168

7

java导出excel
java导出excel

在Java中,我们可以使用Apache POI库来导出Excel文件。本专题提供java导出excel的相关文章,大家可以免费体验。

2023.08.18

7723

6

excel输入值非法
excel输入值非法

在Excel中,当输入的数值非法时,有以下多种处理方法。本专题为大家提供excel输入值非法的相关文章,大家可以免费体验。

2023.08.18

1821

3

excel生成二维码
excel生成二维码

虽然Excel本身并不直接支持生成二维码,但我们可以借助一些插件或宏来实现在Excel中生成二维码的功能。本专题为大家提供excel生成二维码的相关文章。

2023.08.18

3338

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 45.2万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 3.6万人学习