我在使用 INDIRECT 函数进行条件格式设置时遇到了问题。我正在执行类似以下操作使用 INDIRECT 和 AND/IF 进行条件格式,但那里唯一的答案对我来说不起作用。
基本上,我想突出显示 B 不为空且 F 为空的行。INDIRECT 适用于其中一个条件,但
= AND(INDIRECT("B"&ROW()) > 0, INDIRECT("F"&ROW()) = "")
根本不起作用。
问题中的答案指出用相对引用替换引用,所以我认为这应该可行:
= AND ($B2 > 0, $F2 = "")
但它没有,ISBLANK($F@) 或 ISEMPTY($F2) 也没有(单元格包含一个公式,有时会返回“”,我希望在这些情况下突出显示行,但仅当 B 列中有某些内容时)。
我是否遗漏了有关相对引用的内容?为什么 INDIRECT 不能与 AND/OR 一起使用?
答案1
我认为没有必要使用 INDIRECT,“非空白”是 <>"" 所以也许可以尝试
=AND($B2<>"",$F2="")
答案2
您的问题可能是您开始应用条件格式的位置。答案为 = AND ($B2 > 0, $F2 = "") 假设您正在应用任何列的第 2 行条件格式。
例如,如果您将条件格式规则应用于整个列,则应用该规则的第一行必须是公式中的行号。您只需突出显示整个列,然后键入 = AND ($B1> 0, $F1 = "")
如果您要将格式应用到 G5 到 G7,这就是您要输入的内容。= AND ($B5 > 0, $F5 = "")
相对引用将从公式开始的位置开始,然后继续在应用规则的范围内复制自身。这就是为什么数字上没有 $。因此规则可以随范围向下移动。