Excel中如何根据单元格的背景或字体颜色来计数和求和

很多表亲喜欢通过格式设置将Excel中的单元格字体或背景设置为不同颜色,以示区别于其他单元格。设置完成后,又希望能够根据不同的单元格字体或背景颜色对某个区域进行条件求和。那么Excel中如何根据单元格的背景颜色来计数和求和呢?本文介绍2种方法,内容来源于我的Excel书《Excel高手捷径:一招鲜,吃遍天》。

方法一:利用自定义函数实现

按快捷键【Alt+F11】,进入VBE编辑器,输入以下代码:

Function Countcolor(col As Range, countrange As Range)

Dim icell As Range

Application.Volatile

For Each icell In countrange

If icell.Interior.ColorIndex =col.Interior.ColorIndex Then

Countcolor = Countcolor +1

End If

Next icell

End Function

Function Sumcolor(col As Range, sumrange As Range)

Dim icell As Range

Application.Volatile

For Each icell In sumrange

If icell.Interior.ColorIndex= col.Interior.ColorIndex Then

Sumcolor =Application.Sum(icell) + Sumcolor

End If

Next icell

End Function

定义完函数后,就可以用函数来统计了,例如,要计算单元格背景不同颜色的单元格数量或求和,就可以这样统计,如图1:

图 1

方法二:利用宏表函数get.cell定义名称

宏表函数GET.CELL是在早期低版本Excel中使用的函数,其作用是返回引用单元格的信息。它仍可以在高版本的工作表中使用,不过不能直接用在单元格中,而只能通过定义名称的方式来使用。

语法

GET.CELL(Type_num,Reference)

Type_num指明单元格中信息的类型。用数字表示,范围为1-66。

Reference为引用的单元格或区域。

Step1、先定义名称颜色A,公式为:=get.cell(63,sheet1!B2),如图2:

图 2

在C列输入=颜色A

图 3

Step2、定义名称颜色B

图 4

在E列输入=颜色B

Step3、再用sumif和countif进行求和和计数

图 5

如果要根据单元格字体颜色求和或计数呢?只需把定义名称的公式get.cell的第一个参数修改为24。

附:Type_num 参数的用法

1 参照储存格的绝对地址
2 参照储存格的列号
3 参照储存格的栏号
4 类似 TYPE 函数
5 参照地址的内容
6 文字显示参照位址的公式
7 参照位址的格式,文字显示
8 文字显示参照位址的格式

9 传回储存格外框左方样式,数字显示
10 传回储存格外框右方样式,数字显示
11 传回储存格外框方上样式,数字显示
12 传回储存格外框方下样式,数字显示
13 传回内部图样,数字显示
14 如果储存格被设定 locked传回 True
15 如果公式处于隐藏状态传回 True
16 传回储存格宽度
17 以点为单位传回储存格高度
18 字型名称
19 以点为单位元传回字号

20 如果储存格所有或第一个字符为加粗传回 True
21 如果储存格所有或第一个字符为斜体传回 True
22 如果储存格所有或第一个字符为单底线传回True
23 如果储存格所有或第一个字符字型中间加了一条水平线传回 True
24 传回储存格第一个字符色彩数字, 1 至 56。如果设定为自动,传回 0
25 MS Excel不支持大纲格式
26 MS Excel不支持阴影格式

27 数字显示手动插入的分页线设定
28 大纲的列层次
29 大纲的栏层次
30 如果范围为大纲的摘要列则为 True
31 如果范围为大纲的摘要栏则为 True
32 显示活页簿和工作表名称
33 如果储存格格式为多行文字则为 True
34 传回储存格外框左方色彩,数字显示。如果设定为自动,传回 0
35 传回储存格外框右方色彩,数字显示。如果设定为自动,传回 0
36 传回储存格外框上方色彩,数字显示。如果设定为自动,传回 0
37 传回储存格外框下方色彩,数字显示。如果设定为自动,传回 0
38 传回储存格前景阴影色彩,数字显示。如果设定为自动,传回 0
39 传回储存格背影阴影色彩,数字显示。如果设定为自动,传回 0

40 文字显示储存格样式
41 传回参照地址的原始公式
42 以点为单位传回使用中窗口左方至储存格左方水平距离
43 以点为单位传回使用中窗口上方至储存格上方垂直距离
44 以点为单位传回使用中窗口左方至储存格右方水平距离
45 以点为单位传回使用中窗口上方至储存格下方垂直距离
46 如果储存格有插入批注传回 True
47 如果储存格有插入声音提示传回 True
48 如果储存格有插入公式传回 True
49 如果储存格是数组公式的范围传回 True
50 传回储存格垂直对齐,数字显示
51 传回储存格垂直方向,数字显示
52 传回储存格前缀字符
53 文字显示传回储存格显示内容
54 传回储存格数据透视表名称
55 传回储存格在数据透视表的位置
56 枢纽分析
57 如果储存格所有或第一个字符为上标传回True
58 文字显示传回储存格所有或第一个字符字型样式
59 传回储存格底线样式,数字显示
60 如果储存格所有或第一个字符为下标传回True
61 枢纽分析
62 显示活页簿和工作表名称
63 传回储存格的填满色彩
64 传回图样前景色彩
65 枢纽分析
66 显示活页簿名称

(0)

相关推荐