打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
按指定的单元格颜色和数字颜色进行计数或求和

如果Excel工作表的某区域中包含不同的底纹颜色,我们可以用一个自定义函数对该区域按指定的单元格颜色进行计数或求和。方法是:
1.按Alt+F11,打开VBA编辑器。
2.单击菜单“插入→模块”,将插入名称为“模块1”的模块,在右侧的代码窗口中输入下列代码:
Function SumByColor(Ref_color As Range, Sum_range As Range)
Application.Volatile
Dim iCol As Integer
Dim rCell As Range 
iCol = Ref_color.Interior.ColorIndex
For Each rCell In Sum_range 
If iCol = rCell.Interior.ColorIndex Then
SumByColor = SumByColor + rCell.Value
End If
Next rCell
End Function

Function CountByColor(Ref_color As Range, CountRange As Range)
Application.Volatile
Dim iCol As Integer
Dim rCell As Range 
iCol = Ref_color.Interior.ColorIndex
For Each rCell In CountRange 
If iCol = rCell.Interior.ColorIndex Then
CountByColor = CountByColor + 1
End If
Next rCell
End Function

上述两个自定义函数,一个是SumByColor,可以对区域按指定单元格的颜色求和。另一个是CountByColor,可以统计区域中某种颜色的个数。这两个自定义函数都有两个参数,前一个参数指定包含某种颜色的单元格,后一个参数为求和或计数区域。
 3.关闭VBA编辑器。
使用方法:假如要求和或计数的区域在A1:B10区域中。
 求出该区域中单元格底纹颜色为红色的所有单元格数值之和,在单元格中输入公式:
=sumByColor(A1,A1:B10)
求出该区域中单元格底纹颜色为红色的所有单元格的个数,在单元格中输入公式:
=CountByColor(A1,A1:B10)

按字求颜色
 
在Excel的内建功能, 内建函数中, 应没有针对颜色而自动计算的方法。
 
故可能是唯一办法- VBA自定义函数
 
我刚写了一个简单的VBA,绝对可以做到你的要求
 
 
Function COLORSUM(xx As Range, yy As Range) As Double
y = yy.Font.ColorIndex
For Each x In xx 
If x.Font.ColorIndex = y Then
xxx = xxx + x.Value
End If
Next 
COLORSUM = xxx
End Function
 
假设你的数字是在A1:A100
而A2的数字颜色是作为自动求和的识别
 
只要将上述VBA贴在模块上, COLORSUM函数便可以使用
 
输入公式=COLORSUM(A1:A100,A2)
便会所有与A2相同颜色的数字, 自动求和

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
EXCEL中,如何用IF函数求相同颜色单元格数的和?
自定义Excel函数-自定义Excel
Excel按单元格颜色计数、求和,你都学会了吗?
根据颜色求和与计数,你用了1天,我使用自定义函数1分钟就搞定了
Excel VBA语句集
Excel怎么统计相同颜色单元格的数量并进行求和计算太实用了
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服