EXCEL中如何以字体颜色为条件进行运算统计

来源:百度知道 编辑:UC知道 时间:2024/07/01 04:23:48
有一列现成的数据,
78(蓝)
65(红)
32(绿)
65(绿)
94(红)
55(蓝)
27(绿)
我用括号表示了该数字的颜色,在数据录入时,某人把属于部门A的都设置成了红色,部门B的成了蓝色,部门C成了绿色,有没有一种函数类似SUMIF(),但是以颜色作为条件求和的?请高手指教。
2楼,这些都是输入员手工上色的,麻烦就在这里
-----------------
有的话我还问你么
------------------
我知道可以用高级查找-替换可以做,但是不知道能不能用函数,首席执行官快点出来,看公式是种享受!

按alt+F11打开VBE,

右击左边工程框,插入,模块

贴入以下代码
Function ystj(col As Range, countrange As Range)
Dim i As Range
Application.Volatile
For Each i In countrange
If i.Font.ColorIndex = col.Font.ColorIndex Then
ystj = ystj + i
End If
Next
End Function

例如你的数据区域是A1:C100
在D1输入公式
=ystj(颜色,A1:C100) 按F9

其中颜色为想统计颜色字所在的单元格,如=ystj(A2,A1:C100)

如果想统计不同背景色的数字,将Font改为Interior。

1、如果有对应部门,那么统计部门的就可以了。
2、如果没有对应,那么能帮你想到的只有两个办法:
2.1、VBA写个自定义函数,可以按颜色统计的,有得下载.
2.2、先对数据进行求和,并记录结果,再用替换,设置格式为你要求的颜色,然后替换成0,再进行求和,再把第一次求和的结果减去它。
方法很笨,求完后还得Ctrl+Z恢复原来的数据,哈哈,实在没办法数据又多也是值得的,一般情况我是不会这么做的。(*^__^*) 嘻嘻……

2007版excel也只能使用颜色作条件格式,不能统计。