条件格式会在条件成立时改变单元格的外观(填充、字体颜色、边框)。选中单元格,打开 开始 > 条件格式,选一条预设规则;或者选择 新建规则 > 使用公式确定要设置格式的单元格,输入 =$C2>100 这样的公式,它会给 C 列金额大于 100 的每一行着色。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Order | Region | Amount | Due | Status |
| 2 | 1001 | North | 120 | 2026-03-02 | Paid |
| 3 | 1002 | South | 85 | 2026-03-10 | Open |
| 4 | 1003 | North | 240 | 2026-03-12 | Open |
| 5 | 1004 | East | 60 | 2026-03-20 | Paid |
| 6 | 1005 | South | 150 | 2026-03-25 | Open |
| 7 | 1006 | East | 95 | 2026-03-08 | Open |
第 2、4、6 行被突出显示。把 C3 改成 100 不会有变化,因为规则要求大于 100;改成 101,第 3 行就亮起来了。规则显示在表格下方,你可以点击并编辑它。
如何添加条件格式规则
菜单中有针对常见情况的现成规则:
- 突出显示单元格规则:大于、小于、介于、等于、文本包含、发生日期、重复值。
- 最前/最后规则:前 10 项、前 10%、最后 10 项、最后 10%、高于平均值、低于平均值(其中的 10 可以修改)。
- 数据条、色阶 和 图标集:它们按每个单元格数值的大小着色,而不是判断某个条件。
其他情况就写一条公式规则:
- 从左上角的单元格开始选中要设置格式的单元格,让它成为活动单元格。对于上面的表格,就是 A2:E7。
- 打开 开始 > 条件格式 > 新建规则。
- 选择 使用公式确定要设置格式的单元格。
- 为活动单元格输入公式。它必须返回 TRUE 或 FALSE:
=$C2>100。 - 点击 格式,选择填充色或字体颜色,然后点两次确定。
Excel 会把公式移到区域中的每个单元格,就像向下和向右填充公式一样,所以美元符号决定了每个单元格看的是哪里。$C2 表示“C 列,本行”:列固定,行移动。本页的规则显示的正是你要在那个框里输入的公式。
突出显示大于另一个单元格中数值的单元格
让规则指向一个单元格而不是直接写数字,阈值改起来就很方便。下面的规则只给 Amount 列的单元格着色,并把每个单元格与 F2 比较;$F$2 中的 $ 符号让每个单元格都看向 F2。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Order | Region | Amount | Limit | ||
| 2 | 1001 | North | 120 | 100 | ||
| 3 | 1002 | South | 85 | |||
| 4 | 1003 | North | 240 | |||
| 5 | 1004 | East | 60 | |||
| 6 | 1005 | South | 150 | |||
| 7 | 1006 | East | 95 |
C2、C4 和 C6 被着色。在 F2 中输入 90,C7 也会加入;输入 200,就只剩 C4。预设规则 突出显示单元格规则 > 大于 的输入框里也可以填单元格引用(=$F$2)。
根据文本突出显示整行
文本条件要放在引号中。=$B2="North" 会给地区为 North 的每一行着色。用 = 比较时不区分大小写,所以 north 也能匹配。如果只要文本 包含 某个词就算匹配,就把 SEARCH 放在 ISNUMBER 中:SEARCH 返回这个词的位置,找不到时返回错误,ISNUMBER 再把结果转换成 TRUE 或 FALSE。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Order | Region | Amount | Note |
| 2 | 1001 | North | 120 | Paid on time |
| 3 | 1002 | South | 85 | Late, called twice |
| 4 | 1003 | North | 240 | |
| 5 | 1004 | East | 60 | Paid late |
| 6 | 1005 | South | 150 | Waiting for invoice |
| 7 | 1006 | East | 95 |
第 2 行和第 4 行因为是 North 而被着色,D3 和 D5 中包含“late”(其中一个写作 Late)。把 B7 改成 North,第 7 行也会加入。预设规则 突出显示单元格规则 > 文本包含 对选中的单元格的作用与 SEARCH 规则相同。
突出显示逾期日期
一个未完成的订单,到期日早于今天就算逾期。在 Excel 中规则是 =AND($E2="Open",$D2<TODAY()),颜色每天都会更新。下面的表格在 G2 中用一个固定日期代替 TODAY(),这样无论你什么时候看,示例都一样:=AND($E2="Open",$D2<$G$2)。
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Order | Region | Amount | Due | Status | Today | |
| 2 | 1001 | North | 120 | 2026-03-02 | Paid | 2026-03-15 | |
| 3 | 1002 | South | 85 | 2026-03-10 | Open | ||
| 4 | 1003 | North | 240 | 2026-03-12 | Open | ||
| 5 | 1004 | East | 60 | 2026-03-20 | Paid | ||
| 6 | 1005 | South | 150 | 2026-03-25 | Open | ||
| 7 | 1006 | East | 95 | 2026-03-08 | Open |
G2 为 2026-03-15 时,第 3、4、7 行逾期。第 2 行日期更早,但已经付款,所以 AND 让它保持原样。第二条规则给未来七天内到期的 D 列单元格着色:目前还没有。把 G2 改成 2026-03-20,D6(2026-03-25 到期)就会被它着色。把 E3 改成 Paid,第 3 行就不再标记。
如果想不写公式就标出“本周到期”或“上个月”,预设的 突出显示单元格规则 > 发生日期 里有这些选项。
突出显示空白单元格或缺少值的行
对于空单元格(以及返回空文本的公式),=B2="" 为 TRUE。在列字母前加 $,就能在某一行中有一个单元格为空时给整行着色:=$C2=""。对应的预设是 新建规则 > 只为包含以下内容的单元格设置格式 > 空值。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Order | Region | Amount | Status |
| 2 | 1001 | North | 120 | Paid |
| 3 | 1002 | South | Open | |
| 4 | 1003 | North | 240 | Open |
| 5 | 1004 | East | Paid | |
| 6 | 1005 | South | 150 | Open |
| 7 | 1006 | East | 95 | Open |
第 3 行和第 5 行被着色。在 C3 中输入金额,这一行就恢复原样。这里用 =ISBLANK($C2) 也可以,但对于包含返回 "" 的公式的单元格,ISBLANK 为 FALSE,而 =$C2="" 对两种情况都为 TRUE。
统计规则着色的数量
规则本身不会给出数字,但把同样的条件放进 COUNTIFS 或 SUMPRODUCT 就可以。统计上一节中逾期的未完成订单(日期在 G2 中)需要两个条件:Status 为 Open,且 Due 早于 G2。
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Order | Region | Amount | Due | Status | Today | |
| 2 | 1001 | North | 120 | 2026-03-02 | Paid | 2026-03-15 | |
| 3 | 1002 | South | 85 | 2026-03-10 | Open | ||
| 4 | 1003 | North | 240 | 2026-03-12 | Open | Overdue | |
| 5 | 1004 | East | 60 | 2026-03-20 | Paid | ||
| 6 | 1005 | South | 150 | 2026-03-25 | Open | ||
| 7 | 1006 | East | 95 | 2026-03-08 | Open |
轮到你了: 在 G4 中,统计到期日早于 G2 中日期的未完成订单数量。
答案是 3,也就是被着色的行数。条件 "<"&G2 把小于号和 G2 中的日期连接起来;写成 "<G2" 则是在与文本 G2 比较。更多此类条件的写法见 COUNTIFS 页面。
色阶、数据条和图标集
这三种格式按单元格的值来着色,而不是根据条件开关。选中数字,在 开始 > 条件格式 中选择一种:
- 色阶 从最小值的一种颜色过渡到最大值的另一种颜色(图库中的第一个把最大值标为绿色、中间值标为黄色、最小值标为红色)。适合给一张数字表做热力图。
- 数据条 在每个单元格内画一个条形,长度取决于它的值与其他值的相对大小。在 其他规则 中可以勾选 仅显示数据条 来隐藏数字。
- 图标集 在值前面加上箭头、旗帜或交通灯,默认按区域的三等分划分。
要修改任意一种的阈值,打开 开始 > 条件格式 > 管理规则 > 编辑规则,在那里可以把每种颜色或图标与数字、百分比、百分点值或公式关联起来。
常见错误:美元符号用错了
同一条规则的三个版本应用到 A2:E7 上,效果完全不同:
| 规则 | 每个单元格检查什么 | 结果 |
|---|---|---|
=$C2>100 | 本行的 C 列 | 按金额给整行着色 |
=C2>100 | 自己右边第二列的单元格:A2 检查 C2,B2 检查 D2 | 只有 A 列跟随金额变化;B 列和 C 列始终着色(日期和文本都算大于 100),D 列和 E 列从不着色 |
=$C$2>100 | 始终是 C2 | 所有行都着色,或者都不着色 |
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Order | Region | Amount | Due | Status |
| 2 | 1001 | North | 120 | 2026-03-02 | Paid |
| 3 | 1002 | South | 85 | 2026-03-10 | Open |
| 4 | 1003 | North | 240 | 2026-03-12 | Open |
| 5 | 1004 | East | 60 | 2026-03-20 | Paid |
| 6 | 1005 | South | 150 | 2026-03-25 | Open |
| 7 | 1006 | East | 95 | 2026-03-08 | Open |
因为 C2 是 120,所以每个单元格都被着色。把 C2 改成 50,所有颜色会同时消失。点击规则,删掉 2 前面的 $,改成 =$C2>100,颜色就又会按每一行变化了。向下填充公式时锁定哪一部分也遵循同样的规则,详见绝对引用页面。
常见问题
如何根据另一个单元格设置条件格式?
选中要着色的单元格,打开“开始 > 条件格式 > 新建规则 > 使用公式确定要设置格式的单元格”,为选区的第一个单元格写公式,并指向另一个单元格:=$C2>100 会在该行 C 列的值大于 100 时给整行着色。
如何用条件格式突出显示整行?
选中整个表格,而不是某一列,并在要检查的单元格的列字母前加 $:=$E2="Open"。列保持固定,行号随之移动,所以同一行中的每个单元格都检查同一个单元格。
条件格式如何设置多个条件?
在一条公式规则中用 AND 或 OR 把它们组合起来:=AND($E2="Open",$D2<TODAY()) 会给已过到期日的未付订单着色。同一区域上的多条独立规则会同时生效;当两条规则设置同一种格式(例如填充色)时,在“开始 > 条件格式 > 管理规则”中排在上面的那条优先。
如何突出显示包含特定文本的单元格?
使用“开始 > 条件格式 > 突出显示单元格规则 > 文本包含”,或者写一条公式规则 =ISNUMBER(SEARCH("late",A2)),只要 A2 中包含 late(不分大小写)就为 TRUE。
为什么我的条件格式公式不起作用?
通常是美元符号的问题:=$C$2>100 让每个单元格都只检查 C2,而在整行上用 =C2>100 会让每个单元格检查不同的列。另外,还要确认公式是按照“管理规则”中“应用于”所列区域的第一个单元格来写的。