![Excel - 条件格式:让“或条件”起作用吗?](https://linux22.com/image/1615446/Excel%20-%20%E6%9D%A1%E4%BB%B6%E6%A0%BC%E5%BC%8F%EF%BC%9A%E8%AE%A9%E2%80%9C%E6%88%96%E6%9D%A1%E4%BB%B6%E2%80%9D%E8%B5%B7%E4%BD%9C%E7%94%A8%E5%90%97%EF%BC%9F.png)
下面您可以看到我的数据(这是德语版本,所以小数点是逗号),已经应用了以下条件格式规则:=B21>=B22
;它应用于第 21 行至第 28 行(不包括第 29 行)。
目的是突出显示所有单元格,这些单元格中的数字与其下方的单元格相比没有变小。看起来不错。
现在我想添加另一个条件:我还想突出显示与下面的单元格相比减少超过 0.25 的单元格。我使用这个公式:=RUNDEN((B21-B22);2)<-0,25
,在英文版本中应该是=Round((B21-B22),2)<-0.25
。它导致以下结果:
现在我想用一个OR
条件将这两个结合起来。这应该会把两张图片结合起来,对吧?但是它不起作用。我的条件是=ODER(B21>=B22;RUNDEN((B21-B22);2)<-0,25)
,用英文来说就是=OR(B21>=B22,ROUND((B21-B22),2)<-0.25)
。结果看起来像
因此,所有带有“-”的单元格都不会突出显示。这不是问题,事实上,这就是我想要的,但我不明白为什么会发生这种情况。这意味着我不完全理解OR
这里发生了什么或我犯了什么错误。因为我需要将其应用于许多其他工作表,所以我想了解这里发生了什么。
答案1
这是因为B26-B27
变成3 - '-'
会导致#VALUE
错误。而 不是TRUE
,因此未应用格式。其他单元格亦同。
答案2
如果我按照你想要实现的方式去做,问题就出在ROUND()
规则的某个部分。
您想知道上面的单元格是否减少了 0.25 以上。但您测试的是它是否减少了超过负 0.25。因此,只有当您看到它增加时,它才为 TRUE。
B21-B22 为 -3.25,小于 -0.25,因此一半OR()
为 TRUE,规则激活,突出显示单元格 B21。B24-B25 为 -1.00,表示增加(它上升了,所以减去的数字大于减去的数字,所以增加的结果是一个负数,在这种情况下,1 肯定小于 -0.25),但由于它小于 -0.25,因此一半为OR()
TRUE,单元格突出显示,即使值上升而不是您要查找的下降。
要解决这个问题,您可以做几件事。一个非常简单的方法是针对进行减法测试> 0.25
。如果它下降,第二个数字会更低,因此您会得到一个正结果,下降幅度越大,结果就越大。这就是目标,所以...
另一种方法是反转减法。所以改为 B22-B21。如果值下降到 B22,这将创建一个负数,然后随着下降幅度变大,该负数确实会小于 -0.25。