Excel按颜色求和方法与技巧大全
时间:2026-02-17 11:38:55 155浏览 收藏
Excel原生函数无法直接按单元格背景颜色求和,但本文系统详解了三种高效可行的替代方案:一是利用SUBTOTAL(109)配合按颜色筛选实现快速动态汇总;二是通过GET.CELL宏表函数生成颜色编号辅助列,再结合SUMIF精准统计;三是编写VBA自定义SumByColor函数,直接读取颜色属性完成灵活、可复用的条件求和——无论您是零基础用户还是进阶玩家,都能找到适配自身需求与环境(如Excel版本、是否启用宏)的实用解法。

如果您需要对Excel中具有特定背景颜色的单元格进行数值汇总,但发现SUMIF等常规函数无法识别颜色条件,则是因为Excel原生函数不支持基于颜色的计算。以下是实现按颜色求和的多种可行方法:
一、使用SUBTOTAL配合筛选功能
该方法利用Excel筛选后SUBTOTAL函数仅统计可见单元格的特性,结合按颜色筛选实现间接求和。需确保数据区域已设置为表格格式或存在标题行,且目标颜色已应用于数值列的背景。
1、选中包含数值与颜色的数据列(含标题),点击【数据】选项卡中的【筛选】按钮启用筛选。
2、点击列标题旁的下拉箭头,选择【按颜色筛选】→【按单元格颜色筛选】,再点击所需颜色块。
3、在空白单元格中输入公式:=SUBTOTAL(109,数值区域),其中109代表忽略隐藏行的SUM函数,数值区域为筛选后可见数值所在的连续列范围(如B2:B100)。
二、通过GET.CELL定义名称+辅助列
该方法借助Excel 4.0宏表函数GET.CELL获取单元格背景色编号,再通过名称管理器创建动态引用,适用于非实时更新频率较低的场景。注意此方法在Excel 365/2021中可能受限于宏表函数禁用策略。
1、按下Ctrl+F3打开【名称管理器】,点击【新建】,名称填写“CellColor”,引用位置输入:=GET.CELL(63,Sheet1!$B2)(假设数值在Sheet1的B列,B2为当前行首单元格)。
2、在C2单元格输入公式:=CellColor,向下填充至对应行,生成颜色编号辅助列。
3、在另一单元格中使用SUMIF函数:例如统计颜色编号为3的求和,公式为=SUMIF(C:C,3,B:B),其中C列为辅助列,B列为数值列。
三、使用VBA自定义函数
该方法通过编写VBA函数直接读取单元格Interior.Color属性,返回RGB值或索引号,再配合普通公式完成条件求和。需启用开发者选项并信任宏,适合有VBA基础且需重复使用的用户。
1、按Alt+F11打开VBA编辑器,右键【工作簿名称】→【插入】→【模块】。
2、在模块中粘贴以下代码:
Function SumByColor(CellColor As Range, SumRange As Range) As Double
Dim cl As Range
Dim clr As Long
clr = CellColor.Interior.Color
For Each cl In SumRange
If cl.Interior.Color = clr Then SumByColor = SumByColor + cl.Value
Next cl
End Function
3、返回Excel,在任意单元格输入公式:=SumByColor(B2,B2:B100),其中B2为带目标颜色的参照单元格,B2:B100为待求和区域。
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
283 收藏
-
325 收藏
-
149 收藏
-
441 收藏
-
327 收藏
-
460 收藏
-
250 收藏
-
453 收藏
-
411 收藏
-
306 收藏
-
265 收藏
-
481 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习