Excel:CountIf(cell1> cell2 AND cell3> cell4)

我需要比较两组两列,并find符合特定条件的ID数量。

ABCDE ID: ListNum: RefNum: List2Num: Ref2Num: 1 10 5 12 6 2 3 7 10 2 3 12 8 1 5 4 2 15 13 4 5 4 11 2 8 6 6 9 1 3 

假设包含ID =“1”的单元格是A2,它下降到A7

我必须计算具有高于RefNum的ListNum的ID的数量,并且也具有高于Ref2Num的List2Num。 为了统计ID,两个标准都必须满足。

我用了下面的公式:= COUNT(IF(B2:B7> C2:C7)&(D2:D7> E2:E7))

我得到一个价值,但它不是正确的数量(这是两个条件的总和,而不是只计算一次)。 最后的答案应该是1.任何帮助将不胜感激,谢谢!

你为什么不工作的一个原因:在你的公式中,你使用&来表示AND,但实际上是连接string。

选项1:数组公式

IF和AND不能在数组上工作,所以包含它们的普通公式将不起作用。 所以使用一个数组公式代替:

你需要input这个数组公式(在input公式时,你需要按下control-shift-enter而不是enter键):

 =SUM((B2:B7 > C2:C7)*(D2:D7 > E2:E7)) 

当它在单元格中时,它将显示在大括号中,以显示它是一个数组公式。 像这样:

 {=SUM((B2:B7 > C2:C7)*(D2:D7 > E2:E7))} 

在这个公式中,X> Y将返回1或0来表示真或假。 所以乘法与AND相同,加法与OR相同。 然后(B2:B7 > C2:C7)*(D2:D7 > E2:E7)意味着B2:B7 > C2:C7 AND D2:D7 > E2:E7 ,返回一个1和0的数组,然后求和得到点数。

选项2:SUMPRODUCT

有一个正常的function,其唯一目的是将数组放在一起,然后按照与数组公式相同的方式添加它们:SUMPRODUCT

SUMPRODUCT的问题是数组必须是数字而不是逻辑真值和假值,所以这些工作中的任何一个:

 =SUMPRODUCT(--(B2:B7 > C2:C7),--(D2:D7 > E2:E7)) =SUMPRODUCT((B2:B7 > C2:C7)*1,(D2:D7 > E2:E7)*1) =SUMPRODUCT((B2:B7 > C2:C7)+0,(D2:D7 > E2:E7)+0) 

这不是:

 =SUMPRODUCT((B2:B7 > C2:C7),(D2:D7 > E2:E7)) 

但SUMPRODUCT是一个正常的function,所以你不需要input控制转换input。

尝试input这个公式到单元格F1

 =IF(AND(B1 > C1, D1 > E1), 1, 0) 

然后,把F列的总和作为你真正拥有的许多行,你应该留下答案(上面给出的样本数据是1 )。

如果您在表格旁边放置一个简单的AND公式,您可以完全自动填充。 接下来,您可以计算该列中True值的数量(请参见图片)。 如Tim所build议的那样,你可以将其组合成一个IF声明

这两个公式是

  • “= AND(B2> C2,D2> E2)”
  • “= COUNTIF(G2:G7,TRUE)”

链接到可能的解决scheme的图片