Excel 2016 条件格式不适用于 AND

Excel 2016 条件格式不适用于 AND

我正在尝试使用条件格式自动为满足给定条件的行着色。例如,如果行的 D 列中有内容,则为该行着色:=INDIRECT("D"&ROW())<>"" 这种方法很有效。

但是,如果我尝试一些更复杂的事情,即使我按 Ctr+Alt+F9,也不会有任何反应。具体来说,这不起作用:

=AND(INDIRECT("D"&ROW())<>"",INDIRECT("F"&ROW())="X")

它应该为 D 列不为空且 F 列包含 X 的行着色。如果我将它直接放入工作表中(放入其中一个单元格中),效果很好。当它应该为真时,计算结果为真;当它应该为假时,计算结果为假。尽管如此,当我尝试使用它进行条件格式设置时(尽管确实添加了规则),它没有任何效果;它没有为它应该着色的单元格着色。

这是什么问题?我该如何解决?

答案1

根据评论,这是不是使用条件格式的方法 - 使用像 Blackwood 所说的单元格引用,例如

=AND(D2<>"",F2="x")

....但这里的具体问题是ROW函数。我不知道为什么在工作表上没问题而在 CF 中却不行,但ROW函数实际上返回一个“数组”而不是数字,即使它是一个数字,所以在第 2 行,例如ROW()返回数组 {2}。在某些情况下,Excel 无法处理该数组,因此解决方案是包装在另一个函数中,如SUMMAX,如下所示:

=AND(INDIRECT("D"&SUM(ROW()))<>"",INDIRECT("F"&SUM(ROW()))="X")

SUM尽管我注意到,如果您乘以条件而不是使用,它也可以正常工作,AND

=(INDIRECT("D"&ROW())<>"")*(INDIRECT("F"&ROW())="X")

注意:COLUMN函数有时会显示相同的行为

相关内容