如果有个表被标记了很多颜色,想对颜色进行汇总求和,如何进行呢,比如下面的表:
如果不会VBA这个怎么实现呢,我们可以借助宏表函数GET.CELL来实现,具体使用如下:
首先选择公式-名称管理器-新建名称,在名称框中输入“颜色统计”,这个名字可以按照容易记忆的名字来定义,比如输入“YSTJ”,反正怎么方便怎么来吧。
接下来在引用位置输入=GET.CELL(63,B4),这个63的参数是指单元格填充颜色,结果会返回颜色的代码。
在C4单元各输入“=颜色统计”,会得到各颜色代码数字:
如果统计各填充颜色数据汇总,可以利用sumifs:
需要说明的是,宏表函数定义公式之后才能使用,这个是不能直接跳过的,否则无法调用,另外也无法和普通函数进行组合使用。
对于GET.CELL函数的参数,大家可以看一下,上面的例子是用了63,其实它有1-66参数可以使用,具体如下:
1 | 以当前工作区文字引用类型绝对引用左上角引用单元格。 |
2 | 顶部引用单元格的行数。 |
3 | 最左边引用单元格的列数。 |
4 | 同TYPE引用 |
5 | 引用内容。 |
6 | 文字,以工作区设置决定的A1或R1C1类型引用公式。 |
7 | 文字的单元格的数字格式(如“m/d/yy”或“General”)。 |
8 | 指示单元格水平对齐的数字。1=一般;2=左对齐;3=置中;4=右对齐;5=填充;6=两端对齐;7=跨列置中。 |
9 | 指示分配给单元格左侧边框线的类型。0=无边框;1=细线;2=中等线;3=虚线;4=点线;5=粗线;6=双线;7=发丝线。 |
10 | 指示分配给单元格右侧边框线的类型,对应指定返回值的描述参见type_num9 |
11 | 指示分配给单元格顶端边框线的类型,对应返回值的描述参见type_num9 |
12 | 指示分配给单元格底端边框线的类型,对应返回值的描述参见type_num9 |
13 | 是0至8之间的一个数字,当在[格式]菜单下选择[单元格]命令时,[单元格格式]对话框的[图案]标签显示被选择的单元格。这个数字指明其模式。如模式未被选择,返回0。 |
14 | 如果单元格被锁住,返回TRUE;否则,返回FALSE。 |
15 | 如果单元格中公式被隐藏,返回TRUE;否则返回FALSE。 |
16 | 一个含有两顶的水平数组,包括活动单元格的宽度和一个逻辑值,这个逻辑值指明单元格宽度是否改变,如为TRUE,标准宽度改变,如为FALSE,仍为自定义宽度。 |
17 | 用点表示的单元格的行高 |
18 | 字体名称,文字形式 |
19 | 用点表示的字体大小 |
20 | 如果单元格中所有字符或只有第一个字母为黑体,返回TRUE;否则,返回FALSE。 |
21 | 如果单元格中所有字符或只有第一个字符为斜体。返回TRUE;否则,返回FALSE。 |
22 | 如果单元格中所有字符或只有第一个字符为加底线,返回FALSE。 |
23 | 如果单元格中所有字符或只有第一个字符为加删除线,返回TRUE;否则,返回FALSE。 |
24 | 是1-56的一个数字,代表单元格中第一个字符的字体颜色。如果字体颜色为自动生成,返回0。 |
25 | 如果单元格中所有字符或只有第一个字符为空心体,返回TRUE;否则,返回FALSE。MicrosoftExcelforWindows不支持空心字体格式。 |
26 | 如果单元格中所有字符或只有第一个字符加阴影,返回TRUE;否则,返回FALSE。MicrosoftExcelforWindows不支持阴影字体格式 |
27 | 指示单元格中能否进行手动分页线的数字。0=没有分页线;1=行;2=列;3=行和列。 |
28 | 行的级数(分级显示) |
29 | 列的级数(分级显示) |
30 | 如果所包含的活动单元格为摘要行,返回TRUE;否则,返回FALSE。 |
31 | 如果列所包含的活动单元格为摘要列,返回TRUE;否则,返回FALSE。. |
32 | 如窗口只包括一个表,其文件名为不含扩展名的工作簿的文件名,为包含单元格的工作簿或工作表的文件名,以BOOK1.XLS的形式返回簿的文件名;否则,以"[BOOK1]sheel"的形式返回表的文件名。 |
33 | 如单元格被折行,返回TRUE;否则,返回FALSE。 |
34 | 是1-16之间的一个数,代表左侧边框线颜色。如颜色自动生成,返回零。 |
35 | 是1-16之间的一个数,代表右侧边框线颜色。如颜色自动生成,返回零。 |
36 | 是1-16之间的一个数,代表顶端边框线颜色。如颜色自动生成,返回零。 |
37 | 是1-16之间的一个数,代表底端边框线颜色。如颜色自动生成,返回零。 |
38 | 是1-16之间的一个数,代表前景颜色。如颜色自动生成,返回零。 |
39 | 是1-16之间的一个数,代表背景颜色。如颜色自动生成,返回零。 |
40 | 单元格风格,文字形式。 |
41 | 不经翻译返回活动单元格中的公式(用于图别设定的宏表)。 |
42 | 用点表示的活动窗口左边界到单元格左边界的水平距离,如果窗口滚动到单元格外,可能为负值。 |
43 | 用点表示的活动窗口顶边界到单元格顶边界的垂直距离,如果窗口滚动到单元格外,可能为负值。 |
44 | 用点表示的活动窗口右边界到单元格右边界的水平距离,如果窗口滚动到单元格外,可能为负值。 |
45 | 用点表示的活动窗口底边界到单元格底边界的水平距离,如果窗口滚动到单元格外,可能为负值。 |
46 | 如果单元格包含文字注释,返回TRUE;否则,返回FALSE。 |
47 | 如果单元格包含声音注释,返回TRUE;否则,返回FALSE。 |
48 | 如果单元格包含公式注释,返回TRUE;否则,返回FALSE。 |
49 | 如果单元格为数组的一部分,返回TRUE;否则,返回FALSE。 |
50 | 指示单元格垂直方向对齐方式。1=顶对齐;2=置中;3=底对齐;4=两端对齐。 |
51 | 指示单元格垂直方向。0=水平;1=垂直;2=向上;3=向下。 |
52 | 单元格前缀(或文字对齐)字符,如果单元格不包括任何内容,代表空文本(“”)。 |
53 | 当前显示的单元格的内容,文本形式,包括格式化单元格所加上去的数字或符号。 |
54 | 返回包含活动单元格的数据透视表视图的文件名。 |
55 | 返回数据透视表视图中单元格的位置。 |
56 | 在数据透视表视图中,返回包含活动单元格引用的字段名称。 |
57 | 如果单元格中所有的字符,或只有第一个字符被格式化为上标字体,返回TRUE;否则,返回FALSE。 |
58 | 作为显示在[单元格格式]对话框中[字体]标签定位单元格中所有的字符或只第一个字符的正文返回字体风格,如“BoldItalic”。 |
59 | 返回下加线风格的数。1=无底线;2=单底线;3=双线;4=(singleaccounting);5=(doubleaccounting)。 |
60 | 如果单元格中所有的字符,或只有第一个字符被格式化为下标字体,返回TRUE;否则,返回FALSE。 |
61 | 作为文本返回活动单元格数据透视表项的文件名。 |
62 | 返回工作簿和"[book1]sheet1"形式的当前表的文件名。 |
63 | 返回单元格的填充(背景)颜色。 |
64 | 返回单元格的图案(前景)颜色。 |
65 | 如果[增加缩格]对齐选项处于开的状态(只用于MicrosoftExcel的远东版本返回TRUE;否则,返回FALSE。 |
66 | 返回包含BOOK1.XLS形式单元格的工作簿的簿名。 |
大家如果喜欢我的文章,欢迎关注跟我学EXCEL图表