Excel怎么按单元格颜色求和 筛选特定颜色并计算总值【方法】

老宇同学_2057

老宇同学_2057

2026-03-26

841人浏览

原创

可借助辅助列+get.cell、vba自定义函数sumbycolor、筛选+subtotal或power query四种方法实现按颜色求和:前两者通过颜色索引或rgb值匹配并计算,后者依赖筛选可见性或需预处理颜色标识。

excel怎么按单元格颜色求和 筛选特定颜色并计算总值【方法】

如果您需要在Excel中对特定颜色的单元格进行求和,但Excel原生函数(如SUM、SUMIF)无法直接识别单元格背景色,则需借助其他机制实现。以下是解决此问题的步骤:

一、使用辅助列配合GET.CELL定义名称(适用于Excel桌面版,含宏表函数)

该方法通过宏表函数GET.CELL获取单元格填充色索引值,并在辅助列中标记颜色类别,再用SUMIF按标记求和。需注意此函数仅在定义名称中可用,且不支持Excel for Web或Mac新版。

1、按Ctrl+F3打开“名称管理器”,点击“新建”。

2、在“名称”栏输入ColorIndex,“引用位置”栏输入:=GET.CELL(63,Sheet1!$A$1),其中Sheet1为实际工作表名,$A$1为待检测颜色的首个数据单元格(可后续调整引用)。

3、在B1单元格输入公式:=ColorIndex,向下填充至对应数据行,此时B列显示各单元格的背景色编号。

4、在空白单元格(如D1)输入目标颜色编号(例如红色通常为3),在E1输入公式:=SUMIF(B:B,D1,A:A),其中A列为数值列。

5、注意:修改单元格颜色后需按F9强制重算,且保存文件时必须为.xls或.xlsm格式。

二、使用VBA自定义函数SumByColor

该方法通过编写VBA函数直接读取单元格Interior.Color属性,支持RGB比对,精度高且可复用。需启用开发者选项并插入模块。

1、按Alt+F11打开VBA编辑器,右键“正常”工程 → “插入” → “模块”。

2、粘贴以下代码:

Function SumByColor(sumRange As Range, colorRange As Range) As Double

Dim c As Range

Dim total As Double

total = 0

For Each c In sumRange

If c.Interior.Color = colorRange.Interior.Color Then

total = total + c.Value

End If

Next c

SumByColor = total

End Function

3、返回Excel,在任意单元格输入公式:=SumByColor(A1:A100,B1),其中A1:A100为求和区域,B1为颜色样本单元格。

4、注意:启用宏前需将文件另存为.xlsm格式,且每次打开需允许启用内容。

三、利用筛选+SUBTOTAL函数手动汇总

该方法不依赖公式或代码,通过Excel内置筛选功能定位同色单元格,再用SUBTOTAL自动统计可见单元格之和,适合临时快速计算。

1、选中数据区域(含标题行),按Ctrl+T创建表格,或直接按Ctrl+Shift+L启用筛选。

2、点击列标题下拉箭头 → “按颜色筛选” → 选择目标背景色(如“红色填充”)。

3、在数据区下方空白单元格输入:=SUBTOTAL(109,A2:A100),其中109代表忽略隐藏行的SUM,A2:A100为数值列范围。

4、注意:筛选后仅可见行参与计算,且SUBTOTAL结果会随筛选状态实时更新。

四、使用Power Query按颜色分类汇总(Excel 2016及以上)

该方法将颜色信息作为元数据导入Power Query,通过添加条件列实现分组求和,结果可刷新,适合结构化重复处理。

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

2、右键数值列 → “转换” → “整数”(确保数值类型正确)。

3、点击“高级编辑器”,在let步骤后插入:ColorColumn = Table.AddColumn(PreviousStepName, "ColorCode", each Excel.CurrentWorkbook(){[Name="Sheet1"]}[Content]{0}[Column1].Background), 替换PreviousStepName与实际步骤名及单元格引用。

4、关闭并上载,新表中将多出ColorCode列,对其使用“透视”功能 → 将ColorCode拖入“行”,数值列拖入“值”并设为“求和”。

5、注意:Power Query无法直接读取颜色,此步骤需预先用VBA或辅助列生成颜色标识列再导入。

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

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

下载

相关标签:

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

相关专题

更多
c++怎么把double转成int
c++怎么把double转成int

本专题整合了 c++ double相关教程,阅读专题下面的文章了解更多详细内容。

2025.08.29

4028

10

C++中int、float和double的区别
C++中int、float和double的区别

本专题整合了c++中int和double的区别,阅读专题下面的文章了解更多详细内容。

2025.10.23

764

4

function是什么
function是什么

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果。本专题为大家提供function是什么的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.04

3160

5

js函数function用法
js函数function用法

js函数function用法有:1、声明函数;2、调用函数;3、函数参数;4、函数返回值;5、匿名函数;6、函数作为参数;7、函数作用域;8、递归函数。本专题提供js函数function用法的相关文章内容,大家可以免费阅读。

2023.10.07

534

5

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

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

2023.07.25

5381

7

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

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

2023.07.31

3356

5

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

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

2023.08.02

3140

3

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

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

2023.08.02

1444

3

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

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

2023.08.02

717

5

热门下载

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

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.9万人学习