2017-05-04 54 views
0

我有一个与我的Excel条件格式问题。它似乎只能在一列上工作,无论它是否移动并且规则中的列已更改。 我的规则如下,我试图空间出来,以使其更具可读性,但它显然不是实际的规则中: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%"将触发细胞变蓝。

if "Triangle"单词"RES%""CRATE%"将触发单元变蓝。

三种形态的价值观和他们检查什么话都在同一行。它们每行都改变,但只在这三种形状和几句话之间变化。

此相同的格式出现在接下来的两列好,但是,接下来的两列,其中收到相同的规则和调整列名,将无法正常工作。

我做了太多的计算或者是我的错规则开始与抑或是另外一个问题都在一起?

下面是工作表中数据的屏幕截图。正如你所看到的,BQ列工作正常,但即使在BR上有相同的规则,并且改变BQ2-> BR2和BM2-> BN2,第二行也不起作用。第三个也不会。顶部格式化框用于第一列,底部用于第二列。 enter image description here 第二条规则就是一个NOT版本的第一条规则,旨在扭转蓝色的盒子,当它是“正确的”。我确定这是扭转它的坏方法,但这不是我在这里的。

+0

这可能是一个愚蠢的问题,但是当你的BR列创建规则,让你确信你有正确的范围在“适用于”框? – LarsS

+0

对于迟到的歉意抱歉,但是我确实确保“适用于”适用于该列中的所有数据。我会暂时在这里尝试你的解决方案,然后回复你。 –

回答

1

我在你的屏幕截图取得了BM,BN,BQ和BR列的副本,并创建一组列BM和BQ和第二组的BN和BR规则的规则,在你的问题中所述。两者似乎按预期工作。

规则BM/BQ,适用于细胞BQ1到BQ16:

=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))))))) 

规则BN/BR,适用于细胞BR1到BR16:

=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))))))) 

正如你所看到的,第二个规则集,我只用BN代替BM,用BR代替BQ。它在这里很好。 enter image description here 我希望这适合你。

+0

这不是我的Excel的问题,但它确实导致我发现真正的错误。最初,三排不同形状的是一列。我用文本分列来分割它,并且它正确地完成了它的工作,所以我想。该文本被分隔在一个逗号,每列我的数据看起来像这样“菱形,方形,三角形” 第一列收到正确的文本“钻石”,但后两者收到“广场”和“三角”的前导空格被拧整个方程,使它永远是错误的。 感谢您抽出时间来帮我了! –

+0

啊,当然。这种问题几乎无法确定。我很高兴能够得到帮助,我很高兴你最终找到了错误。继续阅读:) – LarsS