Excel按单元格背景颜色、字体颜色对数据计数或求和,职场利器!

Excel情报局
Excel职场联盟
生产挖掘分享Excel基础技能
Excel爱好者大本营
用1%的Excel基础搞定99%的职场问题
做一个超级实用的Excel公众号
Excel是门手艺玩转需要勇气
数万Excel爱好者聚集地
SUPER EXCEL MAN

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)

向下填充函数

阅读完文章之后,希望小伙伴们在文章底部帮助小编[点赞]点亮[在看]并分享转发到[朋友圈],坚持持续分享的路上很辛苦,需要有你们的鼓励与支持!
(0)

相关推荐