在excel中有很多列,每一列都有若干底纹绿色的单元格,我要统计每列中底纹绿色的单元格有多少

2025-04-23 13:15:32
推荐回答(2个)
回答1:

直接的函数木有,两个办法

  1. 你可以使用VBA遍历整个数据区域的单元格,统计出【绿色】底纹的单元格数量

  2. 你还可以在第二个Sheet上在对应源数据的区域上使用宏表函数先获得是否为【绿色】底纹,(是:1;不是:0)

    然后统计这第二张工作表上为1的数量

两种方法都需要预先获得你的所谓【绿色】的确切颜色值(因为绿色是一个系列哦),你需要整理所有的绿色单元为一个统一的颜色值(有时肉眼看上去都是【绿色】,但是实际上却不是一个颜色值)

回答2:

写了一个自定义函数

Function CountByColor(rgs As Range)
Dim rg As Range
CountByColor = 0
For Each rg In rgs
    If rg.Interior.Color = 5287936 Then CountByColor = CountByColor + 1
Next   '5287936 这是颜色代码,具体是什么,你可以录制宏,然后将某个单元格设置你要的颜色,然后查看宏代码就能看到这个颜色代码了。
End Function

把它放在宏模块里面,然后 在要显示统计个数的单元格写上 =CountByColor(A1:A9)  (假设你要统计的范围为A1:A9)