Excel按单元格背景颜色、字体颜色分别对数据计数和求和

Excel情报局

OFFICE 爱好者大本营

用 1% 的Excel 基础 搞定 99%的 职场工作

做一个有价值感的Excel公众号

Excel是门手艺   玩转需要勇气

数万Excel爱好者聚集地

2021年4月29日 周四

【Excel情报局|文案回收铺子】

无人问津也好,技不如人也罢

你要试着安静下来

着手去做自己该做的事情

而不是让烦躁和焦虑

毁掉本就不多的热情和定力

Excel已经成为职场人士必备的技能。作为个人电脑普及以来用途最广泛的办公软件之一,在很多公司,Excel已经完全成为了一种生产工具,无论何种行业,只要需要和数据打交道,Excel几乎是不二的选择。

Excel中的公式功能是非常强大的,但是有些函数系统并不自带,需要我们自己自定义设计生成。

比如下图所示:

我们想要按背景填充颜色统计数据源中的数据个数和数据之和;以及按字体颜色统计数据源中的数据个数和数据之和。

但是通过普通的Excel可视化函数并不能实现这样的操作。所以今天小编要向大家介绍用VBA代码的方法自定义函数解决这样的颜色统计。因为Excel本身是支持VBA的,用代码,就可以对很多函数公式无法实现的功能,重新进行设计。

首先,我们右击工作表名称标签,点击“查看代码”命令。进入VBA编辑窗口界面。

点击插入-模块,将下面一段代码复制粘贴到VBA模块编辑窗口中。保存关闭。回到Excel主界面。

代码如下:

Function CountByBGColor(Col As Range, CountRange As Range) '根据背景颜色计数Application.VolatileDim iCell As RangeCountByBGColor = 0For Each iCell In CountRange If iCell.Interior.Color = Col.Interior.Color Then CountByBGColor = CountByBGColor + 1 End IfNext
End Function
Function SumByBGColor(Col As Range, SumRange As Range) '根据背景颜色求和Application.Volatile
Dim iCell As RangeSumByBGColor = 0For Each iCell In SumRange If iCell.Interior.Color = Col.Interior.Color Then SumByBGColor = SumByBGColor + Application.WorksheetFunction.Sum(iCell) End IfNext
End Function
Function CountByFontColor(Col As Range, CountRange As Range) '根据字体颜色色计数Application.Volatile
Dim iCell As RangeCountByFontColor = 0For Each iCell In CountRange If iCell.Font.Color = Col.Font.Color Then CountByFontColor = CountByFontColor + 1 End IfNext
End Function
Function SumByFontColor(Col As Range, SumRange As Range) '根据字体颜色求和Application.Volatile
Dim iCell As RangeSumByFontColor = 0For Each iCell In SumRange If iCell.Font.Color = Col.Font.Color Then SumByFontColor = SumByFontColor + Application.WorksheetFunction.Sum(iCell) End IfNext
End Function

当我们保存代码后,返回到工作表界面,像常规公式一样,在编辑栏输入函数,就可以实现正常的统计了。

按背景填充颜色统计数据个数

我们在H2单元格输入函数:

=CountByBGColor(G2,$B$2:$E$6)

向下填充函数

按背景填充颜色统计数据之和

我们在I2单元格输入函数:

=SumByBGColor(G2,$B$2:$E$6)

向下填充函数

按字体颜色统计数据个数

我们在H9单元格输入函数:

= CountByFontColor(G9,$B$9:$E$13)

向下填充函数

按字体颜色统计数据之和

我们在I9单元格输入函数:

=SumByFontColor(G9,$B$9:$E$13)

向下填充函数

Excel学习视频下载专区:

公众号后台聊天窗口 回复关键字 我要学习 获取百度网盘下载 提取码
百度云 下载链接 (复制到手机或电脑浏览器地址栏打开输入 提取码 )
https://pan.baidu.com/s/1VzuHfu9LTgYokcb6b4w4mQ
阅读完文章之后,希望大家在文末帮我点亮“ 在看 ”,坚持的路上需要有你们的鼓励!

请这样在【 Excel情报局 】历史文章中通过关键字进行模糊搜索

①第1步: 进入【Excel情报局】微信公众号,点击底部菜单“情报.xls”

②第2步: 点击“历史文章”按钮

③第3步: 顶部搜索框内输入你要搜索的关键字,比如“ 合并 ”,点击确定,进行搜索。 参照下面视频操作:

OFFICE Excel2016版本下载专区
方式① Excel2016版安装包(含永久激活工具) 百度网盘
下载链接:
https://pan.baidu.com/s/11eE-oGEyHojXHoYSuDbBAA
(0)

相关推荐