Excel – 从数组条件行到VLOOKUP的COUNTIF行

我不知道我是否以错误的方式去做,但看起来应该是简单的。 列A有一个名称列表。 沿着每一行是几个“W”的。 另一个单独的字段具有代表列A名称的下拉列表。 我想要计算与我select的名称相对应的“W”的数量。 我试过使用VLOOKUP和COUNTIF,但我不知道如何select整个数组,然后选出匹配我select的名称的一行。 我可以用一堆IF语句来处理,但是这太耗费时间,因为我手动将该名称与行匹配(并且这不是将来的certificate)。

有几种方法可以首先在要查找的行上“缩小”,之后您可以使用简单的COUNTIFS来检查该行中W的数量。

一种方法就是简单地使用INDIRECT,并在运行中创build行参考,就像[假设您的search单元是C1]一样:

=COUNTIFS(INDIRECT(MATCH(C1,A:A,0)&":"&MATCH(C1,A:A,0)),"W") 

这首先使用MATCHfind适当的行,然后build立对该行的引用[如“24:24”],这成为INDIRECT传递给COUNTIFS的行,该行将为W计算该行。

对于间接使用的一种情况,间接使用的高计算成本不应成为问题。

另一种方法是指出数据可能包含的全部可能框[让我们假设最多只使用列H],然后使用INDEX给我们适当的行号,如下所示:

 =COUNTIFS(INDEX(A:H,MATCH(C1,A:A,0)),0,"W") 

这又一次使用MATCH来查找包含列A中C1中find的值的行。然后,它从INDEX中获取完整的可能框,并返回特定行中的所有列[请注意,告诉索引实际上返回0返回所有列]。

其他方法是可能的[例如OFFSET],但是我相信这两个方法显示了相当好的原理。

你可以使用“Helper”列方法:

在这里输入图像说明

在帮手列中:

 =COUNTIF(B2:H2,"W") 

然后在总计列中使用SUMIF():

 =SUMIF($A$2:$A$9,K2,$I$2:$I$9)