一、功能简介
二、公式生效逻辑
使用自定义公式时经常要引用单元格,因此需要理解公式的生效逻辑:
- 首先,公式结果只能是 TRUE 或 FALSE,或者是其代表的数字 1 或 0。
- 其次,在样式规则中输入的公式会应用在条件格式区域的第一个单元格(也就是左上角)上,然后自动填充到其他区域。参考下方案例,我们设定符合条件的单元格会变成绿色:
- 当公式为 A1 > 3 时,由于 A1 就是条件格式区域的第一个单元格, 所以每个单元格的格式取决于它自己的值和 3 的大小对比结果。
250px|700px|reset
- 当公式 为 C2 > 3时,条件格式区域(A1:D4)的格式实际取决于红框中(C2:F5)的单元格的值与 3 的大小对比结果。通过这个特点,自定义公式的条件格式可以不依赖于单元格本身的值,而是可以援引任意单元格。
250px|700px|reset
注:根据单元格的引用类型(绝对引用、相对引用与混合引用),公式填充结果会有所不同。上方展示的是相对引用的公式填充效果,即每个单元格中的行号与列号都随单元格位置移动发生变化。
三、场景实践
- 甘特图简版
- 公式:AND(C$2>=$A3,C$2<=$B3)
- 解读:将单元格所对应的日期(第 2 行)与开始日期(A 列)和结束日期 (B 列)对比,即可确认当前单元格是否需要高亮绿色。
注:公式中采用了混合引用方式:C$2 表示行号 2 在填充时不变, 而 $A3 与 $B3 则是列号保持不变,这样能保证公式填充时,每一个单元格对应正确的日期、开始与结束时间。比如,条件格式应用到 D3 单元格时,实际公式是:=AND(D$2>=$A3,D$2<=$B3) 。
250px|700px|reset
- 甘特图进阶版
- 公式
- 待启动(黄色高亮):AND(J$5>=$D8,J$5<=$E8)
- 进行中(绿色高亮):AND(J$5>=$F8,J$5<=$G8)
- 已延期(红色高亮):AND($G8>$E8,J$5>$E8,J$5<=$G8)
- 解读:将单元格所对应的日期(第 5 行)与 预计开始时间(D 列)、预计结束时间(E 列)、实际开始时间(F 列)、实际结束时间(G 列)对比,即可判定当前单元格状态。
250px|700px|reset
- 高亮内容不一致的行
- 公式:$A2<>$B2
- 解读:“<>” 表示“不等于”,公式中引用的 A2 及 B2 单元格采用混合引用方式,固定列号不变,让公式填充的时候能够始终保持 A 列 与 B 列的对比。
250px|700px|reset
- 突出缺失值
- 公式:COUNTIF($C$3:$C$10,A3)=0
- 解读:通过 COUNTIF 函数在名单 B 中查找名单 A 里的名字,如果名字出现次数为 0,说明该名字在 B 列中缺失了,便予以高亮。注意查找范围 C3:C10 要用绝对引用形式。
250px|700px|reset
- 找出多科成绩符合要求的学生
- 公式:AND($B2>70,$D2>80)
- 解读:用 AND 函数选出 数学成绩(B 列)大于 70 分,英语成绩(D 列)大于 80 分的整行。注意用 “$”符号来固定 B 列和 D 列。
250px|700px|reset
- 高亮搜索值
- 公式:ISNUMBER(SEARCH($E$2,B2))
250px|700px|reset
- 显示最近可用的日期
- 公式:AND(B2>TODAY(),B2<=(TODAY()+45))
- 解读:想要在一堆日期中快速找到可未来一个半月内可以拜访客户的日期,就需要使用 TODAY 函数给出今天的日期,并通过“(TODAY()+45)”则确定未来第 45天的日期,然后就可以用 AND 函数确定需要高亮的日期范围了。
250px|700px|reset