在 Excel 2007 中,如果某行是奇数,我想有条件地为其着色,然后根据该行中的特定单元格(在 E 列中)是包含数字(绿色)还是空(红色)来改变颜色。例如,如果 E15 的值为 2 而 E13 没有条目,则我希望第 15 行是绿色,第 13 行是红色。
我的两个公式是:
染成红色:
=IF((MOD(ROW(),2) = 1),NOT(ISNUMBER(INDIRECT("$E$"&ROW()))), FALSE)
染成绿色:
=IF((MOD(ROW(),2) = 1),ISNUMBER(INDIRECT("E"&ROW())), FALSE)
如果我将这些公式粘贴到工作表的单元格中,我会得到预期值。对于第 15 行,“红色”方程式为假,“绿色”方程式为真。对于第 13 行,“红色”方程式为真,“绿色”方程式为假。但是,如果我在条件格式中使用公式功能中的这些公式,我的所有行都是红色的,有什么想法吗?
答案1
你的问题是INDIRECT
。它无法很好地与你的条件公式配合使用,这似乎是 的某种限制INDIRECT
。
但是,我认为您不需要它。如果我正确理解了您的要求,您只需将绿色条件公式更改为=IF((MOD(ROW(),2) = 1),ISNUMBER($E1), FALSE)
。使用$E1
将强制公式对每一行重新评估,因此它变成:
=IF((MOD(ROW(),2) = 1), ISNUMBER($E1), FALSE)
对于 E1=IF((MOD(ROW(),2) = 1), ISNUMBER($E2), FALSE)
对于 E2=IF((MOD(ROW(),2) = 1), ISNUMBER($E3), FALSE)
对于R3- ETC。
类似地,你可以用以下公式替换红色公式=IF(MOD(ROW(),2) = 1,NOT(ISNUMBER("$E1)), FALSE)