0

0

Excel怎么根据颜色求和 Excel按单元格颜色汇总方法【解决】

幻夢星雲

幻夢星雲

发布时间:2026-01-24 17:38:44

|

590人浏览过

|

来源于php中文网

原创

Excel原生函数无法按背景色汇总,需用四种方法:一、SUBTOTAL配合筛选;二、VBA自定义ColorSum函数;三、条件格式+辅助列+SUMIFS;四、Power Query读取样式分组求和。

excel怎么根据颜色求和 excel按单元格颜色汇总方法【解决】

如果您需要在Excel中对具有特定背景颜色的单元格进行数值汇总,但Excel原生函数(如SUM、SUMIF)无法直接识别颜色,系统将忽略颜色属性仅按值运算。以下是解决此问题的步骤:

一、使用SUBTOTAL配合筛选和手动着色

该方法适用于已通过手动填充颜色标记数据,且可临时启用自动筛选功能的场景。其原理是利用筛选后SUBTOTAL函数仅对可见单元格求和的特性,结合颜色筛选实现按色汇总。

1、选中数据区域含标题行,按Ctrl+Shift+L启用自动筛选。

2、点击任意列标题旁的下拉箭头,选择“按颜色筛选”,再选择目标背景色。

3、在空白单元格中输入公式:=SUBTOTAL(109,数值区域),其中109代表对可见单元格求和(忽略隐藏行)。

4、确认筛选结果仅保留指定颜色的行,公式即返回对应颜色单元格的数值总和。

二、使用VBA自定义函数ColorSum

该方法通过编写用户自定义函数,直接读取单元格DisplayFormat属性中的背景色索引,并与指定颜色比对后累加。适用于需频繁调用、颜色分类较固定的表格环境。

1、按Alt+F11打开VBA编辑器,插入新模块(菜单栏:插入 → 模块)。

2、粘贴以下代码:

Function ColorSum(colorRef As Range, sumRange As Range) As Double

Dim clr As Long, total As Double, cell As Range

clr = colorRef.DisplayFormat.Interior.Color

For Each cell In sumRange

If cell.DisplayFormat.Interior.Color = clr Then total = total + cell.Value

Next cell

koly.club
koly.club

一站式社群管理工具

下载

ColorSum = total

End Function

3、关闭编辑器,返回工作表,在任意单元格输入公式:=ColorSum(A1,B1:B100),其中A1为参考色单元格,B1:B100为待求和区域。

三、借助条件格式+辅助列+SUMIFS

该方法不依赖VBA,适用于颜色由条件格式动态生成的情形。核心思路是复现条件格式逻辑,在辅助列中标记是否满足颜色触发条件,再用SUMIFS按标记汇总。

1、观察原条件格式规则(如:值大于100时填充红色),在相邻列(如C列)输入对应逻辑判断公式:=B1>100(假设B列为数值列)。

2、将该公式向下填充至整列,生成TRUE/FALSE标记列。

3、在汇总单元格中输入:=SUMIFS(B1:B100,C1:C100,TRUE),即可得到满足该条件(即显示对应颜色)的所有单元格之和。

四、使用Power Query按填充色提取并聚合

该方法适用于Excel 2016及以上版本,支持从带颜色的表格导入后,通过M语言读取单元格样式信息进行分组求和,适合批量处理多张工作表或需保留原始颜色映射关系的场景。

1、选中数据区域,按Ctrl+T创建表格,勾选“表包含标题”。

2、在“数据”选项卡中点击“从表/区域”启动Power Query编辑器。

3、添加自定义列,公式为:= Table.Column([Source],"数值列名"){[Index]}[BackgroundColor](需替换为实际列名及索引引用方式)。

4、将背景色值(RGB代码)设为分组依据,对数值列应用“求和”聚合操作。

5、点击“关闭并上载”,结果将作为新表插入当前工作簿。

相关专题

更多
if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

768

2023.08.22

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

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

53

2025.08.29

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

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

100

2025.10.23

function是什么
function是什么

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

481

2023.08.04

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

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

163

2023.10.07

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

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

1394

2023.07.25

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

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

406

2023.07.31

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

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

562

2023.08.02

c++ 根号
c++ 根号

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

25

2026.01.23

热门下载

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

精品课程

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

共162课时 | 13.1万人学习

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

共28课时 | 2.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号