跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Excel怎么根据颜色求和 Excel按单元格颜色统计方法【指南】

可实现按单元格背景色求和的三种方法:一、SUBTOTAL配合按颜色筛选;二、GET.CELL定义名称加辅助列;三、VBA自定义函数读取Interior.Color属性。

如果您需要在Excel中对具有特定背景色的单元格进行数值求和,但发现SUMIF等常规函数无法识别颜色,这是因为Excel原生函数不支持基于颜色的条件判断。以下是实现按单元格颜色求和的多种可行方法:

一、使用SUBTOTAL配合筛选功能(无需公式)

该方法利用Excel筛选后SUBTOTAL函数仅对可见单元格求和的特性,结合手动按颜色筛选,实现快速统计。

1、选中包含数据和颜色标记的整列或整行数据区域(例如A1:A100)。

2、点击【开始】选项卡 → 【查找和选择】 → 【选择格式单元格】,在弹出窗口中切换到【格式】选项卡,点击【填充】,选择目标背景色,点击【确定】,此时所有该颜色的单元格被选中。

3、右键任意选中单元格 → 【设置单元格格式】 → 确认无误后关闭,再点击【数据】选项卡 → 【筛选】启用自动筛选。

4、点击列标题下拉箭头 → 【按颜色筛选】 → 选择对应背景色,仅显示该颜色行。

5、在状态栏查看求和结果,或在空白单元格输入公式:

=SUBTOTAL(109,A1:A100),该公式将仅对筛选后的可见单元格求和。

二、通过GET.CELL定义名称+辅助列(适用于Excel桌面版)

此方法借助Excel 4.0宏表函数GET.CELL获取单元格背景色编号,并建立动态引用关系,适合需重复使用的场景。

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

2、在【名称】栏输入“CellColor”,在【引用位置】框中输入:=GET.CELL(63,Sheet1!$A1)(假设数据在Sheet1的A列,且首行为A1)。

3、点击【确定】并关闭名称管理器。

4、在B1单元格输入公式:

=CellColor,然后向下填充至与数据行数一致。

5、在另一空白单元格中使用SUMIF函数:例如统计颜色编号为35的单元格之和,输入=SUMIF(B1:B100,35,A1:A100)。

Python对Excel操作详解 中文WORD版本文档主要介绍如何通过python对office excel进行读写操作,使用了xlrd、xlwt和xlutils模块。另外还演示了如何通过Tcl tcom包对excel操作。感兴趣的朋友可以过来看看下载

三、使用VBA自定义函数(支持所有颜色值)

通过编写VBA函数直接读取单元格Interior.Color属性,可精确匹配RGB值或ColorIndex,灵活性最高。

1、按Alt+F11打开VBA编辑器,右键【ThisWorkbook】→ 【插入】→ 【模块】。

2、在新模块中粘贴以下代码:

Function SumByColor(rng As Range, clr As Long) As Double Dim cell As Range For Each cell In rng If cell.Interior.Color = clr Then SumByColor = SumByColor + cell.Value Next cell End Function

3、返回Excel,在任意单元格输入公式:

=SumByColor(A1:A100,65535),其中65535代表黄色RGB值(也可用cell.Interior.ColorIndex获取索引号)。

4、如需获取某单元格颜色值供参考,可在空白单元格输入:

=CELL("color",A1)(仅返回ColorIndex),或先选中该单元格再用VBA立即窗口打印?Selection.Interior.Color。

相关文章