条件格式化,基于整行

86

我已经搜索并阅读了与条件格式相关的答案,但好像无法让我的工作表起作用,所以可能是我做错了什么。

我有一个包含我们收容所动物列表的工作表。我尝试着在列"G"中存在“X”的情况下将整行涂成绿色。我尝试使用=$G$2="X"=$G2="X",但都没有生效。它只会使设置规则时活动的一行变色,当我在另一行输入“X”时,它不会有任何反应。我漏掉了什么吗?

6个回答

146

在条件格式中使用“间接”函数。

  1. 选择条件格式
  2. 选择新规则
  3. 选择“使用公式确定要设置格式的单元格”
  4. 输入公式:=INDIRECT("g"&ROW())="X"
  5. 输入所需的格式(文字颜色、填充颜色等)。
  6. 选择确定以保存新格式
  7. 在条件格式中打开“管理规则”
  8. 如果看不到新规则,请选择“此工作表”。
  9. 在新规则的“适用范围”框中,输入=$A$1:$Z$1500(根据您的工作表需要进行调整)

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

您可以重复此操作,根据列值对多个行进行格式化。只需更改公式中的

例如,如果使用公式=INDIRECT("h"&ROW())="CAR"添加新规则,则将按指定的格式格式化H列中具有的每一行。


3
这可能是新手错误,但如果你的列包含数字(而不是像X那样的字母),那么你需要删除数字周围的引号才能使其运行 - 例如:=INDIRECT("T"&ROW())=5 - Coruscate5
我见过的最简单和最好的突出显示行的答案之一。 - Prabesh
这个答案对我在使用Excel 2013时非常有效。被采纳的答案毫无意义,因此我找不到任何方法使它起作用。有了这个答案,我甚至添加了MAX函数,以便它可以突出显示列g(在我的情况下是b)中最大值所在的整行。如果值发生变化,突出显示也会跟随最大值。 - Nelda.techspiress
你是天才伙计。 - J. Wrong

109
=$G1="X"

选择整个工作表并使用条件格式化是正确且最简单的方法。因为条件格式仅适用于所选单元格。我刚试过了,它完美地工作。你必须从G1开始而不是G2,否则它会使条件格式化偏移一行。


4
这个简短的句子产生了重大影响:首先选择整个工作表,因为条件格式仅适用于所选单元格。 - HPWD
1
@pnuts:我认为这是“选择“使用公式确定要格式化的单元格”行”,对于许多来自外部的人来说,这是一个差异。OP仍然有这个,但不是我们所有人 :) - Mat M
3
实际上,你只需要进行一次选择就可以让这个工作。你可以将CF应用于工作表中的小表格。相对设置应用于所选区域的顶部行,例如,如果顶部行为5,并且您想要测试当前行的G列以进行着色,那么它将是$G5 - Mat M
4
这个方法对我起了作用:“必须从G1开始而不是G2,否则条件格式会偏移一行。” - jwatts1980
1
但是这只适用于单行,如果我有200行怎么办...难道我需要200条规则吗? - gunslingor
1
@gunslingor - 在单击条件格式化按钮之前,它将应用于您选择的所有行。 您可以在条件格式规则管理器上验证“适用范围”字段是否设置为$[第一列]:$[最后一列],例如,=$G:$J - WhyGeeEx

9
为了根据单个单元格设置整行的条件格式,您必须使用“$”来锚定该单个单元格的列地址,否则Excel只会正确获取第一列。为什么呢?因为Excel基于列的偏移量设置了您的条件格式的第二列。对于第二列,Excel现已向右移动一个列,检查了那个单元格,并基于您未打算的单元格正确地格式化了第二列。
只需使用“$”锚定规则单元格地址的“列”部分,您就会感到满意。
例如:如果某行的最后一个单元格不等于1,则希望表中的任何行都突出显示为红色。
选择整个表(但不包括标题) “主页”>“条件格式”>“管理规则…”>“新规则”> “使用公式确定要格式化的单元格”
输入:“=$T3<>1”(没有引号…“T”是规则单元格的列,“3”是其行) 设置您的格式 点击应用。
确保Excel没有在公式的任何部分中插入引号…如果有,请删除它们(请勿使用箭头键)。
条件格式应设置为整个表。

2
您想应用自定义格式规则。 "适用范围"字段应为整个行(如果要格式化第5行,请输入=$5:$5。自定义公式应为=IF($B$5="X", TRUE, FALSE),如下例所示。

这对工作表中的每一行都适用吗?此外,我能否仅限制在某些列中(例如,A5:G5)? - Josh
1
是的,可以,但我认为你需要为每一行设置单独的规则。试图使用一个规则来突出显示每一行将变得非常复杂,此时我建议使用一些VBScript来实现你想要的效果。我认为如果你复制并粘贴带有规则的行,规则也会被粘贴,所以你可以尝试这样做。 - qJake

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 中的单元格选择。
如果 G2 大于 E2,则进行格式化
G3 大于 E3,则进行格式化等。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接