Excel根据颜色求和与计数

一、需求

一个Excel中有不同颜色标记的单元格,统计的时候,需要按照颜色进行统计。
在这里插入图片描述
人工来做肯定是不可能了,借助Excel的功能好像也没有思路,其实这种情况可以通过使用vba自定义函数来实现。

二、实现方法

1.代码

根据颜色求和函数代码

' 根据颜色求和
Function SumColor(i As Range, ary1 As Range)
Dim icell As Range
Application.Volatile
For Each icell In ary1
If icell.Interior.ColorIndex = i.Interior.ColorIndex Then
SumColor = Application.Sum(icell) + SumColor
End If
Next icell
End Function

根据颜色计数函数代码

' 根据颜色计数
Function CountColor(x As Range, ary2 As Range)
Application.Volatile
For Each i In ary2
If i.Interior.ColorIndex = x.Interior.ColorIndex Then
CountColor = CountColor + 1
End If
Next
End Function

在这里我们定义了SumColor与CountColor两个自定义函数,

SumColor:对指定颜色的单元格求和

第一参数:想要求和的单元格颜色

第二参数:求和的数据区域

CountColor:对指定颜色的单元格计数

第一参数:想要计数的单元格颜色

第二参数:想要计数的单元格区域

2.创建自定义函数

打开开发工具标签页–>点击Visual Basic–>点击插入-模块–>把代码复制到窗口中–>保存
在这里插入图片描述
如果你也是Mac版本的Excel,发现没有开发工具这个标签页,可以按如下方法设置。
点击左上角Excel,找到偏好设置->视图,勾选"开发工具"选项卡
在这里插入图片描述

3.使用函数

函数使用方法和使用其他Excel内置函数没有什么区别,也是类似于=SumColor(H3,A1:F9)这种形式即可,不过要注意这里是两个参数,第一个参数是一个单元格,第二个参数是一个范围。具体如图所示:
这里我就不自己截图了,使用网上现成的动图吧
在这里插入图片描述

三、参考资料

https://wenku.so.com/d/e776b4fd732883a47b03fe22f7c1a360
https://baijiahao.baidu.com/s?id=1654264602680369970&wfr=spider&for=pc

猜你喜欢

转载自blog.csdn.net/sdujava2011/article/details/131326297