Excel 使用间接函数的条件格式设置在布尔值和或包含公式的单元格中失败

Excel 使用间接函数的条件格式设置在布尔值和或包含公式的单元格中失败,excel,excel-formula,excel-2013,excel-r1c1-notation,Excel,Excel Formula,Excel 2013,Excel R1c1 Notation,我有以下功能来检查列L是否包含单词“completed”,并使用INDIRECT以条件格式为整行着色: =INDIRECT("l"&ROW())="completed" 这个功能有效。但是,我需要扩展它,我也想使用基于额外单元格的条件格式,所以我尝试了以下方法: =AND(INDIRECT("l"&ROW())="completed";INDIRECT("m"&ROW())="duplicate") 当我在Excel工作表中使用第二个函数时,它们给出正确的TRUE或

我有以下功能来检查列
L
是否包含单词“completed”,并使用
INDIRECT
以条件格式为整行着色:

 =INDIRECT("l"&ROW())="completed"
这个功能有效。但是,我需要扩展它,我也想使用基于额外单元格的条件格式,所以我尝试了以下方法:

=AND(INDIRECT("l"&ROW())="completed";INDIRECT("m"&ROW())="duplicate")
当我在Excel工作表中使用第二个函数时,它们给出正确的
TRUE
FALSE

此外,我需要对单元格中公式的结果进行自定义格式设置。我尝试了以下方法:

=INDIRECT("n"&ROW())=123456
只有当我删除单元格中的公式并将结果本身作为一个数字时,这才有效。同样,该函数在粘贴到工作表单元格中时起作用

有没有一种方法可以在Excel中实现这一点,或者条件格式函数的功能有没有限制

如果您问:
和(1;1)
起作用并使所有内容变黄,
和(间接(“n”&ROW())=123456;1)
不起作用,用
替换
也不起作用


分号是因为我在荷兰地区。如果您在英语地区,请用逗号替换。

您必须根据xlR1C1公式来理解CFR。基于公式的CFR将其视为
=RC12=“completed”
或更完整的
=和(RC12=“completed”,RC13=“duplicate”)

无论粘贴到哪个单元格,xlR1C1公式都不会更改;通过这种方式,CFR可以应用于广泛的单元,而无需花费计算周期来更新每个单元的公式
RC12
表示“您所在行L列中的单元格”。如果向下填充、向右填充或复制到任何其他位置,则不会更改

现在,除非您实际使用xlR1C1(文件、选项、公式、使用公式、R1C1参考样式),否则必须将xlR1C1转换为xlA1样式。如果将CFR应用于从第一行开始的多行,则R变为1,C12变为$L

'xlR1C1
=AND(RC12="completed", RC13="duplicate")
'xlA1
=AND($L1="completed", $M1="duplicate")
如果将CFR应用于从第2行开始的范围,则将$L1更改为$L2,将$M1更改为$M2



在使用xlA1样式时,不将xlR1C1样式的公式直接放入CFR创建对话框的其他原因之一是,xlA1中实际上有一个RC12单元格。

不确定为什么这在
条件格式中不起作用。但是您可以简单地用
*
替换
函数,例如:

=(INDIRECT("l"&ROW())="completed")*(INDIRECT("m"&ROW())="duplicate")

不清楚您为什么需要
间接
INDIRECT(“l”&ROW())
作为
索引($l:$l,ROW())
更好,但是如果您的条件格式区域从第1行开始,您应该能够只使用
$L1
,如果您的条件格式区域从第2行开始,则可以使用
$L2
。@jeeped,条件格式应用于所有行,因此,使用L1只适用于第一行,我需要为每一行创建不同的规则。这一建议来自另一个问题。但是如果有别的办法,我很想试试!不,条件格式不是这样工作的。输入范围左上角单元格的公式,然后Excel将修改后的公式应用于范围内的其他单元格,就像将其复制到该单元格一样。试试看。@Abel否,使用
$L1
行将更改,列将保持不变。
$
将列锁定为绝对列,行前面缺少
$
使其成为相对列。。。。如果你不想让CFR在列表的下一步起到抵消作用,那么如果选中了True,请停止。你的上一条评论有点让人困惑。因为我想跳过第一行(它包含标题),所以我使用了
$L2=“x”
,但结果是使用该条件格式化行上方的行(如:对于每一行,它将在下一行中查找该列中的该值,并为原始行上色)。除此之外:它是有效的!谢谢(旁注:奇怪的是,
INDIRECT
根本不起作用,正如用户Nitesh所提到的,正如这里所建议的:)。另外,如果使用
L2
而不是
$L2
,则只有第一个单元格会被着色。除此之外,其工作原理相同。好的,如果适用于:CFR区域从第1行开始,则使用$L1;如果从第2行开始,则使用$L2。L1不起作用的原因是因为它不是RC12,它是RC,它不等于$L1,而是A1。点击F5(转到),键入RC12并点击回车。您将转到第471列的第12行;在xlA1中这是RC12,在xlR1C1中这是R12C471。是的,应用于区域仅选择了适用的列,因此当然会自动包括第一行。这次讨论给了我一些宝贵的见解,很多事情都变得简单了,再次感谢!