利用字体颜色来筛选必须添加辅助列和自定义函数。
1.添加辅助列,假设辅助列为B列,数据列为A列; 2.将光标定位在B1单元格-插入-名称-定义-在名称处输入任意名称如a-在引用位置上写入=GET.CELL(24,Sheet1!A1)-点添加-在B1单元格里输入=a-将公式填充到其它单元格-B列显示A列字体颜色对应的数值; 3.根据B列的颜色值进行筛选等相关操作即可。 注意:不适用于条件格式自动填充的颜色!!
GET.CELL 是得到单元格信息的函数
GET.CELL(type_num, reference)
Type_num 指明单元格中信息的类型。下表列出 Type_num 的可能值与其对应的结果。Type_num 返回
1 以当前工作区文字引用类型绝对引用左上角引用单元格。
2 顶部引用单元格的行数。3 最左边引用单元格的列数。4 同TYPE引用5 引用内容。6 文字,以工作区设置决定的 A1 或 R1 C1 类型引用公式。7 文字的单元格的数字格式(如“m/d/yy”或“General”)。8 指示单元格水平对齐的数字1 = 一般 2 = 左对齐 3 = 置中 4 = 右对齐 5 = 填充6 = 两端对齐7 = 跨列置中9 指示分配给单元格左侧边框线的类型
0 = 无边框1 = 细线2 = 中等线3 = 虚线4 = 点线5 = 粗线6 = 双线7 = 发丝线10 指示分配给单元格右侧边框线的类型,对应指定返回值的描述参见 type_num 911 指示分配给单元格顶端边框线的类型,对应返回值的描述参见 type_num 912 指示分配给单元格底端边框线的类型,对应返回值的描述参见 type_num 913 是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。Microsoft Excel for Windows 不支持空心字体格式。26 如果单元格中所有字符或只有第一个字符加阴影,返回TRUE;否则,返回FALSE。Microsoft Excel for Windows 不支持阴影字体格式
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 作为显示在[单元格格式]对话框中[字体]标签定位单元格中所有的字符或只第一个字符的正文返回字体风格,如 “Bold Italic”。59 返回下加线风格的数。
1 = 无底线2 = 单底线3 = 双线4 = (single accounting)5 = (double accounting)60 如果单元格中所有的字符,或只有第一个字符被格式化为下标字体,返回TRUE;否则,返回FALSE。61 作为文本返回活动单元格数据透视表项的文件名。62 返回工作簿和"[book1]sheet1"形式的当前表的文件名。63 返回单元格的填充(背景)颜色。64 返回单元格的图案(前景)颜色。65 如果[增加缩格]对齐选项处于开的状态( 只用于Microsoft Excel的远东版本返回TRUE; 否则,返回FALSE。
66 返回包含BOOK1.XLS 形式单元格的工作簿的簿名。Reference 是提供信息的单元格或单元格范围。
如果引用的是单元格范围,使用引用中第一个范围的左上角的单元格
如果引用被省略,默认为活动单元格。提示 使用GET.CEELL(17)来判定单元格高度,用GET.CELL(44)_GET.CELL(42)来判定宽度。
实例
如果sheet1表中B4单元边框线为黑体,下列宏公式返回TRUE。
GET.CELL(20, Sheet1!$B$4)
你可以使用由 GET.CELL 的信息来初始化一个操作。如果 GET.CELL 公式返回 FALSE,则下面的宏公式运行名叫BoldCell的自定义函数:IF(GET.CELL(20, Sheet1!$B$4), , BoldCell())