经过大量研究,我发现没有使用VBA来计数受条件格式化(具体为“红色”)影响的单元格范围是什么。
我知道无法对“红色”单元格进行计数,因此我打算使用与条件格式相同的条件来创建CountIF公式,但是在创建条件时遇到了问题。
我认为这很简单,只需在下面的代码之前添加“ CountIF($ G:$ G)。此数据也位于名为“ TT”的表中。
=AND(OR(AND(TODAY()-$F1>1095,TODAY()-$G1>1095),$G1=0,AND($F1=0,TODAY()-$G1>1095)),$A1>0)
答案 0 :(得分:1)
OR
使模式稍微复杂一些-您需要添加COUNTIFS
,然后在两者都为真时减去(以防止重复计算),以演示是否要在{{ 1}}或Column A = 0
:
Column B = 0
除了,您似乎要在3个条件下执行此操作,这会使它变大(添加个人,减去2个匹配项,然后 add 匹配所有3个匹配项)-但实际上这里有一个窍门,稍后再讲。
为了简化操作,我们可以将您的条件从格式=COUNTIF(A:A, 0) + COUNTIF(B:B, 0) - COUNTIFS(A:A, 0, B:B, 0)
重写为Value - A1 > Const
。这意味着A1 < Value - Const
将是COUNTIF
Countif(A:A, "<" & Value - Const)
现在,让我们将其分为单独的=AND(OR(AND($F1<TODAY()-1095,$G1<TODAY()-1095),$G1=0,AND($F1=0,$G1<TODAY()-1095)),$A1>0)
。有一个外部COUNTIFS
,所以AND
都在其中,然后有一个带有3个条件的$A1>0
。这给了我们:
OR
现在,这是我之前提到的窍门:我不了解您,但是我可以看到这里有些重复。例如,第一个和第三个? F列小于COUNTIFS($A:$A,">0", $G:$G, "<" & Today()-1095, $F:$F, "<" & Today()-1095)
COUNTIFS($A:$A,">0", $G:$G, 0)
COUNTIFS($A:$A,">0", $G:$G, "<" & Today()-1095, $F:$F, 0)
,或F列为0。除了1095天是1902年12月30日,所以Today()-1095
将始终大于0。今天,例如,它将为Today()-1095
。这意味着当第三条件为42576
时,第一条件也将始终为true。因此,我们可以完全忽略第三个True
!
现在,我们无法在第一个条件和第二个条件下执行此操作-因为如果F列大于COUNTIF
,则第一个条件将始终为Today()-1095
,但第二个如果列G为False
True
因此,使用前面的示例,我们有以下内容:
0
但是!查看最后一个=COUNTIFS($A:$A,">0", $G:$G, "<" & Today()-1095, $F:$F, "<" & Today()-1095)
+COUNTIFS($A:$A,">0", $G:$G, 0)
-COUNTIFS($A:$A,">0", $G:$G, 0, $G:$G, "<" & Today()-1095, $F:$F, "<" & Today()-1095)
。它具有COUNTIFS
和G:G = 0
。但是,如果列G为0,则也小于G:G < Today()-1095
(免责声明:1902年除夕前后)因此,我们可以简化一下:
Today()-1095
这意味着我们的整个等式如下:
-COUNTIFS($A:$A,">0", $G:$G, 0, $F:$F, "<" & Today()-1095)
答案 1 :(得分:0)
我使用表头和SUM(
COUNTIFS(
COUNTBLANK(
的组合得出了自己的公式。经过了战斗考验,可以正常工作!
=SUM(COUNTIFS(TT[Fiscal Law 301 CBT],"<"&TODAY()-1095,TT[Fiscal Law In-Residence],"<"&TODAY()-1095),COUNTBLANK(TT[Fiscal Law 301 CBT]),COUNTIFS(TT[Fiscal Law In-Residence],"",TT[Fiscal Law 301 CBT],"<"&TODAY()-1095))