作者:Excel Home 来源:《Excel实战技巧精粹》
发表于:2008年9月26日
在实际工作中,用户经常会通过为单元格设置背景色或者字体颜色来标注表格中较特殊的数据,但是却无法对有颜色的单元格做进一步操作,比如排序和筛选,因为在Excel中,无论使用菜单命令还是工作表函数都无法得到单元格的颜色信息。
此时,需要借助Excel的宏表函数,才能够得到单元格的颜色信息。有关宏表函数的更多知识,请参阅第22章宏表函数。
在如图126-1所示的表格中,部分日期数据使用了单元格背景色,部分任务数据设置了字体颜色,下面以此表格为例,介绍如何按照颜色排序。
图126-1 使用了单元格背景色和字体颜色的表格
分别在C1、D1中输入文字Color1、Color2。
选定C2,按<Ctrl+F3>组合键,在“定义名称”对话框的“在当前工作簿中的名称”文本框中输入Color1,然后在引用位置输入:
=GET.CELL(63,’06’!A2)+RAND()*0
单击“确定”按钮关闭“定义名称”对话框。
选定D2,按<Ctrl+F3>组合键,在“定义名称”对话框的“在当前工作簿中的名称”文本框中输入Color2,然后在引用位置输入:
=GET.CELL(24,’06’!B2)+RAND()*0
如图126-2所示。单击“确定”按钮关闭“定义名称”对话框。
图126-2 使用宏表函数求颜色值
在C2中输入“=Color1”,在D2中输入“=Color2”。
选定C2∶D2,往下拖曳到C17∶D17,完成对公式的复制。
单击C2,单击工具栏上的“降序排列”按钮,就能够以日期列的单元格背景色来排序,结果如图126-3所示。
图126-3 按颜色值排序表格数据
如果需要以任务列的字体颜色排序,则应以D列为标准进行排序。
在本例中,使用了Excel宏表函数在C列和D列分别求出A列每个单元格的背景色对应的值和B列每个单元格的字体颜色对应的值,从而使按颜色排序成为可能。
在使用Excel的筛选功能时,也可以按照单元格的背景色或字体颜色来筛选数据,原理相同,在此就不赘述了。
注意:
宏表函数只能计算手工设置的单元格背景色和字体颜色的值,而不能计算由条件格式功能产生的颜色。
用于计算颜色的宏表函数无法自动重算。因此,当单元格背景色或字体颜色发生改变后,用户需要按<F9>键执行手动重算,才能更新宏表函数的计算结果。
评论(0)