条件格式,基于整行


84

我已经搜索并阅读了与条件格式相关的答案,但似乎无法正常工作,所以也许我做错了什么。

我有一个工作表。它包含我们庇护所中的动物清单。我要尝试的做法是,如果已采用整个行,则将其涂成绿色(由“ G”列中的“ X”表示)。我有=$G$2="X"=$G2="X",但都没有工作。设置规则时,它将仅为活动的一行上色,而在另一行中输入“ X”时,它将不执行任何操作。我想念什么?

Answers:


108
=$G1="X"

将是正确(也是最简单)的方法。只需先选择整个工作表,因为条件格式仅适用于选定的单元格。我只是试过了,效果很好。您必须从G1而不是G2开始,否则它将使条件格式偏移一行。


4
这句话少有不同: Just select the entire sheet first, as conditional formatting only works on selected cells.
HPWD

1
@pnuts:我认为这是对Select "Use a Formula to determine which cells to format"来自外部的许多人进行比较的那条线。OP仍然得到了这个,但不是所有人:)
Mat M

2
实际上,您只需要对此进行选择即可。您可以将CF应用于工作表中的小表。相对设置适用于所选内容的第一行,例如,如果第一行为5,并且您要测试当前行中的G列以进行着色,则为$G5
Mat M

4
这个为我固定了You must start at G1 rather than G2 otherwise it will offset the conditional formatting by a row
jwatts1980

1
但这仅适用于单行,如果我有200条...我需要200条规则怎么办?
gunslingor

145

在条件格式上使用“间接”功能。

  1. 选择条件格式
  2. 选择新规则
  3. 选择“使用公式来确定要格式化的单元格”
  4. 输入公式, =INDIRECT("g"&ROW())="X"
  5. 输入所需的格式(文本颜色,填充颜色等)。
  6. 选择确定以保存新格式
  7. 在条件格式中打开“管理规则”
  8. 如果看不到新规则,请选择“此工作表”。
  9. 在新规则的“适用于”框中,输入=$A$1:$Z$1500 (或希望条件格式根据工作表扩展的宽度/长度)

现在,对于G列中具有X的每一行,它将变为您指定的格式。如果该列中没有X,则该行不会被格式化。

您可以重复此操作以根据列值进行多行格式化。只需更改公式中的g列或x特定文本并设置不同的格式即可。

例如,如果您使用公式添加新规则=INDIRECT("h"&ROW())="CAR",则它将格式化CARH列中的每一行作为您指定的格式。


2
这可能是一个新手错误,但是如果您的列中包含数字(而不是像X这样的字母),那么您需要删除该数字周围的引号以使其生效-例如= INDIRECT(“ T”&ROW())= 5
Coruscate5

我看到的最突出的答案是最简单和最好的答案之一。
Prabesh

该答案对我使用Excel 2013有用。接受的答案没有任何意义,因此我找不到任何使它起作用的方法。有了这个答案,我什至添加了MAX函数,以便突出显示g列中整个最大值的行(在我的情况下为b)。如果值发生变化,高光将跟随最大值。
Nelda.techspiress

你是天才伴侣。
J. Wrong

9

要基于单个单元格为整个行设置条件格式,您必须以“ $”锚定该单个单元格的列地址,否则Excel只会正确获取第一列。为什么?

因为Excel正在根据列的OFFSET为行的SECOND列设置条件格式。对于SECOND列,Excel现在将一列移到了您想要的规则单元格的右侧,检查了THAT单元格,并根据您从未打算的单元格正确格式化了第二列。

只需将规则单元格地址的COLUMN部分锚定为“ $”,您就会很高兴

例如:如果表的任何行的最后一个单元格不等于1,则您希望该行的任何地方突出显示红色。

选择整个表(但不选择标题)“主页”>“条件格式”>“管理规则...”>“新规则”>“使用公式确定要格式化的单元格”

输入:“ = $ T3 <> 1”(不带引号...“ T”是规则单元格的列,“ 3”是其行)设置格式单击“应用”。

确保Excel尚未在公式的任何部分插入引号...如果是,请退格/删除引号(请不要使用箭头键)。

应该为整个表设置条件格式。


2

您要应用自定义格式设置规则。“适用于”字段应是整行(如果要设置第5行的格式,请输入=$5:$5。自定义公式应为=IF($B$5="X", TRUE, FALSE),如下面的示例所示。


那么,这对于工作表中的每一行都有效吗?另外,我可以仅将其限制为列吗(例如A5:G5)?
2012年

1
是的,是的,尽管我认为每行都必须有单独的规则。试图用一个规则使每一行变得很复杂,那时候我建议使用一些VBScript来实现所需的功能。我认为,如果您复制并粘贴带有规则的行,那么规则也会被粘贴,因此您可以随时尝试。
qJake 2012年

0

使用RC寻址。因此,如果我希望Col B的背景颜色取决于Col C中的值,并从第2行到第20行应用它:

脚步:

  1. 选择R2C2至R20C2

  2. 单击条件格式

  3. 选择“使用公式来确定要格式化的单元格”

  4. 输入公式:= RC [1]> 25

  5. 创建所需的格式(即背景色“黄色”)

  6. 适用于:确保显示:= R2C2:R20C2

**请注意,“魔术”发生在步骤4中...使用RC寻址查看要格式化的单元格右边一列的值。在此示例中,我正在检查要格式化的单元格右侧一列的单元格的值是否包含大于25的值(请注意,您可以在此处放置几乎任何返回T / F值的公式)


-2

就我而言,我想比较E列中的单元格与G列中的单元格的值

在列E中突出显示要检查的单元格的选择。

选择条件格式:高亮显示单元格规则在我的案例中,选择其中一个大于。在弹出式窗口的左侧,使用= indirect(“ g”&row()),其中g是我要与之比较的行。

现在,您要格式化的行将基于其是否大于G行中的选择而突出显示

与您为E列选择的G列中的单元格相比,此方法适用于E列中的每个单元格。

如果G2大于E2,则格式化

G3大于E3,它会格式化等

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.