我的excel条件格式有问题。它似乎只在一列上工作,无论它是否移动并且规则中的列都发生了变化。 我的规则如下,我试图将其分隔以使其更具可读性,但它显然不在实际的规则框中:
=IF(EXACT(BQ2,"Diamond"), //start if
OR(ISNUMBER(SEARCH("CRATE%",BM2,1)),ISNUMBER(SEARCH("CDMG%",BM2,1))), //if true
IF(EXACT(BQ2,"Square"), //if false start another if
OR(ISNUMBER(SEARCH("RES%",BM2,1)),ISNUMBER(SEARCH("CDMG%",BM2,1))), //if true
IF(EXACT(BQ2,"Triangle"), //if false start another if
OR(ISNUMBER(SEARCH("CRATE%",BM2,1)),ISNUMBER(SEARCH("RES%",BM2,1)))))) //if true
我的规则是,如果单元格的值为"Diamond"
,则单词"CRATE%"
和"CDMG%"
会触发单元格变为蓝色,
如果"Square"
,则"RES%"
和"CDMG%"
会触发单元格变为蓝色。
如果"Triangle"
,则"RES%"
和"CRATE%"
会触发单元格变为蓝色。
三个Shape值以及它们检查的单词位于同一行。它们每行都会改变,但只能在这三种形状和几个单词之间改变。
同样的格式也出现在接下来的两列中,但接下来的两列(接收相同的规则和调整的列名)将不起作用。
我做了太多的计算,或者我的规则是错误的,或者它是否是另一个问题?
以下是表格中数据的屏幕截图。如您所见,列BQ工作正常,但即使在BR上使用相同的规则并且更改BQ2-> BR2和BM2-> BN2,第二行也不起作用。第三个也不会。顶部格式框用于第一列,底部用于第二列。 第二个规则只是第一个规则的NOT版本,用于在“正确”时反转蓝色框。我确定这是扭转它的坏方法,但这不是我在这里的目的。
答案 0 :(得分:1)
我在屏幕截图中制作了BM,BN,BQ和BR列的副本,并为列BM和BQ创建了一组规则,并为您的问题中描述了第二组BN和BR规则。两者似乎都按预期工作。
适用于BQ1至BQ16单元格的BM / BQ规则:
=IF(EXACT(BQ1,"Diamond"),OR(ISNUMBER(SEARCH("CRATE%",BM1,1)),ISNUMBER(SEARCH("CDMG%",BM1,1))),IF(EXACT(BQ1,"Square"),OR(ISNUMBER(SEARCH("RES%",BM1,1)),ISNUMBER(SEARCH("CDMG%",BM1,1))),IF(EXACT(BQ1,"Triangle"),OR(ISNUMBER(SEARCH("CRATE%",BM1,1)),ISNUMBER(SEARCH("RES%",BM1,1))))))
=NOT(IF(EXACT(BQ1,"Diamond"),OR(ISNUMBER(SEARCH("CRATE%",BM1,1)),ISNUMBER(SEARCH("CDMG%",BM1,1))),IF(EXACT(BQ1,"Square"),OR(ISNUMBER(SEARCH("RES%",BM1,1)),ISNUMBER(SEARCH("CDMG%",BM1,1))),IF(EXACT(BQ1,"Triangle"),OR(ISNUMBER(SEARCH("CRATE%",BM1,1)),ISNUMBER(SEARCH("RES%",BM1,1)))))))
适用于BR1至BR16小区的BN / BR规则:
=IF(EXACT(BR1,"Diamond"),OR(ISNUMBER(SEARCH("CRATE%",BN1,1)),ISNUMBER(SEARCH("CDMG%",BN1,1))),IF(EXACT(BR1,"Square"),OR(ISNUMBER(SEARCH("RES%",BN1,1)),ISNUMBER(SEARCH("CDMG%",BN1,1))),IF(EXACT(BR1,"Triangle"),OR(ISNUMBER(SEARCH("CRATE%",BN1,1)),ISNUMBER(SEARCH("RES%",BN1,1))))))
=NOT(IF(EXACT(BR1,"Diamond"),OR(ISNUMBER(SEARCH("CRATE%",BN1,1)),ISNUMBER(SEARCH("CDMG%",BN1,1))),IF(EXACT(BR1,"Square"),OR(ISNUMBER(SEARCH("RES%",BN1,1)),ISNUMBER(SEARCH("CDMG%",BN1,1))),IF(EXACT(BR1,"Triangle"),OR(ISNUMBER(SEARCH("CRATE%",BN1,1)),ISNUMBER(SEARCH("RES%",BN1,1)))))))