Excel - 从数组到 VLOOKUP 的 COUNTIF 的条件行
Excel - Conditional row from an array to COUNTIF from VLOOKUP
我不知道我是不是用错了方法,但看起来应该很简单。 A 列有一个名称列表。每行都有几个 "W"。另一个单独的字段有一个代表列 A 名称的下拉列表。我想计算与我 select 的名字相对应的行中 "W" 的数量。我试过使用 VLOOKUP 和 COUNTIF,但我不知道如何 select 整个数组,然后挑出与我的 selected 名称匹配的一行。我可以让它与一堆 IF 语句一起工作,但这太耗时了,因为我手动将名称与行匹配(而且它不是未来的证据)。
您可以使用 "Helper" 列方法:
在辅助栏中:
=COUNTIF(B2:H2,"W")
然后在总计列中使用 SUMIF():
=SUMIF($A:$A,K2,$I:$I)
有几种方法可以先 'narrow in' 您要查找的行,然后您可以使用简单的 COUNTIFS 来检查该行中的 W 数。
一种方法是简单地使用 INDIRECT,并即时创建行引用,就像这样[假设您的搜索单元格是 C1]:
=COUNTIFS(INDIRECT(MATCH(C1,A:A,0)&":"&MATCH(C1,A:A,0)),"W")
这首先使用 MATCH 找到适当的行,然后构建对该行的引用 [如“24:24”],它成为 INDIRECT 传递给 COUNTIFS 的行,COUNTIFS 计算该行的 W。
对于仅一次使用 INDIRECT 的情况,INDIRECT 的高计算成本应该不是问题。
另一种方法是指出可能包含数据的完整框[假设最多只使用 H 列],然后使用 INDEX 为我们提供适当的行号,如下所示:
=COUNTIFS(INDEX(A:H,MATCH(C1,A:A,0)),0,"W")
这再次使用 MATCH 查找包含在 A 列中的 C1 中找到的值的行。然后它从 INDEX 中获取完整的可能框,并且 returns 来自特定行的所有列[注意告诉索引为 return 0 列 # 实际上 returns 所有列。
其他方法也是可行的[例如OFFSET],但我相信这两个方法很好地展示了原理。
我不知道我是不是用错了方法,但看起来应该很简单。 A 列有一个名称列表。每行都有几个 "W"。另一个单独的字段有一个代表列 A 名称的下拉列表。我想计算与我 select 的名字相对应的行中 "W" 的数量。我试过使用 VLOOKUP 和 COUNTIF,但我不知道如何 select 整个数组,然后挑出与我的 selected 名称匹配的一行。我可以让它与一堆 IF 语句一起工作,但这太耗时了,因为我手动将名称与行匹配(而且它不是未来的证据)。
您可以使用 "Helper" 列方法:
在辅助栏中:
=COUNTIF(B2:H2,"W")
然后在总计列中使用 SUMIF():
=SUMIF($A:$A,K2,$I:$I)
有几种方法可以先 'narrow in' 您要查找的行,然后您可以使用简单的 COUNTIFS 来检查该行中的 W 数。
一种方法是简单地使用 INDIRECT,并即时创建行引用,就像这样[假设您的搜索单元格是 C1]:
=COUNTIFS(INDIRECT(MATCH(C1,A:A,0)&":"&MATCH(C1,A:A,0)),"W")
这首先使用 MATCH 找到适当的行,然后构建对该行的引用 [如“24:24”],它成为 INDIRECT 传递给 COUNTIFS 的行,COUNTIFS 计算该行的 W。
对于仅一次使用 INDIRECT 的情况,INDIRECT 的高计算成本应该不是问题。
另一种方法是指出可能包含数据的完整框[假设最多只使用 H 列],然后使用 INDEX 为我们提供适当的行号,如下所示:
=COUNTIFS(INDEX(A:H,MATCH(C1,A:A,0)),0,"W")
这再次使用 MATCH 查找包含在 A 列中的 C1 中找到的值的行。然后它从 INDEX 中获取完整的可能框,并且 returns 来自特定行的所有列[注意告诉索引为 return 0 列 # 实际上 returns 所有列。
其他方法也是可行的[例如OFFSET],但我相信这两个方法很好地展示了原理。