在Excel中有个隐藏函数 get.cell(),可得到单元格中的相关信息, 如get.cell(63,a1)得到a1单元格底色的值。
操作方法:
1、选中A1,填充颜色,如红色;
2、选中B1,插入,名称,定义,<定义一个名称,如x>,引用位置中输入 =GET.CELL(63,Sheet1!A1);
3、这样在任何单元格中输入 =x 即可得到左边相邻单元格的填充颜色值;
4、通过该方法,做一些适当的组合,即可得到相同颜色的单元格的集合,对其求和,取平均值等均可。
补充回答,
从Excel Home论坛中得到答案,使用自定义函数,如果不用VBA暂时没有答案,如果需要,我可将Excel文档发给你。
Function colorsum(y As Range, rng, z As Integer)
Application.Volatile
Dim c As Double
Dim x As Range
colorsum = 0
For Each x In rng
If x.Interior.ColorIndex = y.Interior.ColorIndex Then
c = x.Offset(0, z).Value
Else '否则
c = 0
End If
colorsum = colorsum + c
Next x
End Function
'公式例子 =colorsum(F3,$A$2:$A$80,2)*1 F3为指定颜色单元,2是偏移的列数,公式后加*1是为了自动刷新
设置E1为红色,E2为蓝色,在F1中输入=colorsum($E1,$A$1:$A$100,0)*1, F2中输入=colorsum($E2,$A$1:$A$100,0)*1
温馨提示:答案为网友推荐,仅供参考