excel 算出单元格填充颜色为红色的单元格个数

A1:Z1中有若干个单元格(不是文字)的填充色为红色和黄色,想在AA1中通过公式得出A1:Z1中红色单元格的总个数,AA2中通过公式得出A1:Z1中黄色单元格的总个数。跪求高手指点~!我都要疯了~!
PS.1.07版的excel
2.不想通过筛选的方式获得,想直接通过函数获得。
3. 如果谁有excel的交流群,帮忙推荐一个,谢谢!

1. 进入EXCEL文件,按 ALT + F11,进入VBA编辑状态
2. 插入 ---> 模块 ,英文版为 Insert ---> Module
3. 将以下VBA代码贴入
4. 使用该自定义AvgColor函数, 第一个参数:基准背景色单元格,第二个参数就是所要计算平均数的范围。

Function AvgColor(rColor As Range, rAvgRange As Range)
'Average cells based on a specified fill color.
'以填充色为条件,计算算数平均值
Dim rCell As Range
Dim iCol As Integer
Dim vResult, vCount
iCol = rColor.Interior.ColorIndex
For Each rCell In rAvgRange
If rCell.Interior.ColorIndex = iCol Then
vResult = WorksheetFunction.Sum(rCell) + vResult
vCount = vCount + 1
End If
Next rCell
AvgColor = vResult / vCount
End Function
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-21
如果你想用公司算出,必须知道填充颜色的条件,然后用COUNTIFS函数算出 COUNTIFS(A1:Z1,"条件")
如果不知道填充颜色的条件,可以靠查找功能得出总个数
查找-选项-格式-将格式填充颜色与字体号(若单元格内有文字)设置与A1:Z1一致-查找全部
对话框左下角就有你要的数
第2个回答  2012-09-19
EXCEL工作表函数中,没有能够判断单元格颜色的函数,所以只能用VBA实现追问

VBA。。。额~真的看了好多VBA的了。。。就是看不太懂啊~~要是能给我一个直接复制粘贴的也好啊~

追答

把需要统计的颜色涂在A2和A3单元格
运行宏
颜色数会显示在B2、B3单元格
如果要增加颜色,还需要修改代码

Sub theColors()
Dim c, c1, c2
c1 = Range("A2").Interior.Color
c2 = Range("A3").Interior.Color
For c = 1 To 26
If Cells(1, c).Interior.Color = c1 Then Range("B2") = Range("B2") + 1
If Cells(1, c).Interior.Color = c2 Then Range("B3") = Range("B3") + 1
Next c
End Sub

本回答被提问者采纳
第3个回答  2012-09-19
要知道红黄色的个数,首先要知道设置条件格式的条件,否则,无法用公式算出。本回答被网友采纳
第4个回答  2012-09-19
用统计命令:
counta
count
countif单条件统计
countifs多条件统计
sum函数的数组应用
相似回答