Excel条件格式公式应用
我们知道,Excel“条件格式”功能可以根据单元格内容有选择地自动应用格式,它为Excel增色不少的同时,还为我们带来很多方便。如果让“条件格式”和公式结合使用,则可以发挥更大的威力,下面提供几个在“条件格式”中使用公式的应用实例,希望能给读者朋友带来一些启发。
一、 判别输入是否正确
在输入如身份证等有固定位数的号码,出现位数不正确的情形时,我们希望Excel能够给出提示。虽然可以使用“数据有效性”设置实现,但是当输入出错时,Excel总会弹出一个提示的对话框,有朋友可能觉得这样
“唐突”的提醒有点影响心情,那就让“条件格式”来“温和”的提醒吧。
1、创建“条件格式”的公式
假设我们通过“条件格式”,把符合位数(15位或18位)的号码所在单元格的填充色设置为绿色,输入完成后,通过查看单元格的填充色是否变为绿色,就可以知道输入的正确性了。
由于身份证号码数据是属于“文本”类型的,先选中需要存放身份证号码的A2:A52单元格区域,将它们的数字格式设置为“文本”。然后在A2:A52单元格区域处于被选中的状态下,选择菜单“格式?条件格式”命令,打开“条件格式”对话框,单击“条件1”下方的下拉箭头,在弹出的下拉列
中选择“公式”(图 1)。
接着在其右边的文本框中输入公式“=OR(LEN(A2)=15,LEN(A2)=18)”,然后单
击“格式”按钮,在打开的“单元格格式”对话框中选择“图案”选项卡,选择绿色作为符
合条件的单元格的填充色(图 2)。
设置好后单击“确定”按钮,返回“条件格式”对话框,检查无误再次单击“确定”
就完成了条件格式的设置(图 3)。
小提示:上面的操作,先选中了一个单元格范围A2:A52,然后为这个单元格范围设置条件格式的公式。在这种情况下,公式中应使用选择范围中左上单元格的引用,此例中为A2。公式输入完成后,可以查看一下这个范围中的其它单元格的条件格式公式,如A8单元格,为“=OR(LEN(A8)=15,LEN(A8)=18)”,这是由于上面的引用为相对应用,它会根据单元
格的实际偏移量自动改变,从而得到适合其它单元格的公式。
2、实现的具体效果
现在来测试一下上面设置可以实现的效果,在A2:A52区域的单元格中输入一些身份证号码,当位数是18位或15位时,所在单元格的填充色自动变为“绿色”,而位数不对的身份证号码,所在单元格的填充色不发生任何改变(图 4),从是否变色我们就可以判断输入的正确性了。
全部输入并确认正确后,如果需要删除单元格条件格式,则先选中A2:A52单元格区域,然后打开“条件格式”对话框,单击如图3中的“删除”按钮,在打开的“删除条件格式”对话框中勾选“条件1”复选框,单击确定即可(图 5)。
二、 找出销售额的前三名
如图6中的B2:B12单元格中存放着销售额数据,要找出其中的前三名,让它们以蓝色字体显示。
先选中B2:B12单元格,打开如图1所示的对话框,输入公式
“=B2>LARGE($B$2:$B$12,4)”然后将符合条件的字体格式设置为蓝色即可。实现的具体效果如下图(图 6)。
说明:虽然可以对“销售额”数据列排序找出前三名,但是,可能我们希望以日期为顺序排列,这时“条件格式”就可以做到“两全其美”了。
三、 让符合特殊条件的日期突出显示
有时 ,我们可能希望符合特殊条件的日期所在的单元格突出显示,比如星期六或星期天。这时我们可以先选中日期所在的单元格,如图6中的A2:A12,然后打开如图1所示的单元格,输入公式“=OR(WEEKDAY(A2,2)=6,WEEKDAY(A2,2)=7)”,然后设置符合条件的单元
格填充色为阴影即可。
小提示:函数WEEKDAY(serial_number,return_type)的功能为返回某日期为星期几,Serial_number??表示一个顺序的序列号,代表要查找的那一天的日期。当参数return_type为2时,函数返回数字 1(星期一)到数字 7(星期日)之间的整数。
四、 让工作表间隔固定行显示阴影
当单元格数据行较多,我们为了让显示效果更加醒目,可以让工作表间隔固定行显示阴影,效果如下图所示(图 7)。
上面的效果是使用了公式“=MOD(ROW(),2)=0”,如果要间隔两行显示阴影则用公式“=MOD(ROW(),3)=0”,其余依次类推。
小提示:函数MOD(number,divisor)返回两数相除的余数,其中Number为被除数,Divisor为除数。函数ROW(reference)返回引用的行号。其中Reference??为需要得到其行
reference,则假定是对函数 ROW 所在单元格的引用。 号的单元格或单元格区域,如果省略
“条件格式”与公式结合还有非常多的应用,感兴趣的朋友不妨再研究研究哦。
Excel 2007条件格式进阶应用两则
在Excel应用条件格式可以让符合特定条件的单元格数据以醒目的方式突出显示出来,便于我们对工作表数据进行更好地
。通常我们只要选中相应的单元格,然后设置条件格式,就可以达到目的。但是如果我们需要设置格式的单元格是根据别的单元格条件来设置呢,或者我们要设置的条件比较复杂呢,
图1(点击看大图)
以图1所示的工作表为例。工作表中A2:J1032为某市一次大型拉练考试的成绩表。各学科成绩分别在C至G列,总分成绩在H列,而学校名称和专业名称分别在I列和J列。
一、突出显示指定学校的学生成绩
现在成绩表已经根据英语学科按从高到低降序排序。为了更方便比较,我们希望能把“化工学校”的学生所在的行用不同的颜色区别出来。在不改变现有排序、也不做筛选的情况下,用条件格式是最方便的了。
选中A2单元格,点击功能区“开始”选项卡“样式”功能组中的“条件格式”按钮,在弹出的菜单中点击“新建规则”命令,打开“新建格式规则”对话框。在“选择规则类型”列表中点击“使用公式确定要设置格式的单元格”项目,然后在下方的“为符合此公式的值设置格式”输入框中输入公式“=$I2="化工学校"”,然后再点击下方的“格式”按钮,在打开的对话框中设置单元格的填充颜色,如图2所示。点击确定关闭对话框。
图2
再选中A2单元格,然后点击功能区“开始”选项卡“剪贴板”功能组中的“格式刷”工具,把A2:J1032的所有单元格依次“刷”一遍,复制A2单元格的格式至所有单元格,呵呵,看到了吧,“刷”到之处,凡是“化工学校”的学生所在行都填充了我们所指定的颜色。很容易吧,
用这种办法,我们还可以设置别的什么条件来突出显示某一部分学生成绩。比如,我们可以将公式改成“=$H2>=600”来突出显示那些总分超过600分的学生。
二、突出显示一定比例的学生
分析学生成绩时经常要看一下总分或某学科名列前茅的前20,的学生成绩分布,那么我们就会希望能把这些学生的相应成绩突出显示出来。这项工作如果针对某学科用RANK函数排出名次,再进行排序,再计算出前20%的学生人数,然后再对符合条件的成绩填充
颜色,也不是不能完成。但是这肯定太麻烦。更何况有多个学科、总分等成绩,都这么来一遍的话,那头都会大了。还有呢,肯定会有名次相同的情况的,这在确定前20%的人数时也是需要小心对待的。
但如果我们把这个工作交给条件格式来做的话,那问题就简单多了。
比如我们要对总分列(H2:H1032)前20%的学生成绩填充颜色。而我们又是在Excel 2007中完成这项工作的话,那么我们就选中H2:H1032单元格区域,然后点击功能区中的“条件格式”按钮,然后在弹出的菜单中点击“项目选取规则?值最大的10%项”命令,打开“10%最小的值”对话框。这对话框的名称有点乱,呵呵,不知道是不是Excel 2007的Bug,不管它了,如图3所示,在对话框左侧的调节框中将比例值调整为“20%”,然后我们可以在右侧的下拉列表中选择“自定义格式”,然后在打开的对话框中为单元格指定格式。确定后就可以立刻将前20%的高分学生成绩突出显示出来了。
图3
如果需要其它学科也同样突出前20%的高分学生,那么也只需要用“格式刷”将此格式“刷”到其它学科成绩上去即可。
如果说我们使用是Excel 2007以前的版本,那也不要紧。选中H2:H1032单元格区域后,点击菜单命令“格式?条件格式”,打开“条件格式”对话框。如图4所示,在左侧的下拉列表中选择“公式”,然后在右侧的输入框中输入公式“=LARGE(H$2:H$1032,INT(CO
UNT(H$2:H$1032)*20%))<=H2”,再点击“格式”按钮,设置好单元格格式,确定后就可以了。
图4(点击看大图)
上面的公式看起来复杂,其实说白了也很简单,首先中间的INT(COUNT(H$2:H$1032)*20%)部分是对整个数据区域求出20%的数据个数并且向下取整数。然后我们用LARGE函数求到了在此区域中前20%中最小的一个数据,拿这个数值与当前的单元格数据作比较。只要它小于当前单元格数据,那么该单元格当然是名列前20%的喽。