如何从Excel中的查找范围进行计数

时间:2018-08-01 23:29:19

标签: excel countif

我有一个数据透视表,其中有一组城市的行。我想计算某个州的城市数。不想将状态包括在数据透视表中(尽管这样会使事情变得更简单)。

我尝试使用以下公式:

={countif(index(city_ref[state], match(G15:G30,city_ref[city_name],0)),"=CA")}

位置:

  
      
  • city_ref是一个至少包含列[city_name][state]

  • 的表   
  • G15:G30是数据透视表的行

  •   

数据看起来像这样(简化):

city_ref

city_name   | state
====================
Los Angeles | CA
Seattle     | WA
Portland    | OR
etc.

G15:G30

     city_name
     ===========
G15: Los Angeles
G16: Seattle
     etc. (but not all of city_ref)

我确实意识到您可以将状态包含在数据透视表中,但是a)不需要(甚至隐藏它),b)还有其他与数据无关的数据,当包含状态时,数据透视表会增加其他行搞砸了。

如果index match查找单独使用,则返回一个数组。如果我使用fill handle,则会创建一个单元格数组,其查找值在G15:G30之间。但是,将其包含在countif中似乎没有任何作用。

我在excel中有一个countif帮助页面(不幸的是,我找不到在线参考链接),它说range(第一个参数)可以是一个数组。

我希望能够采用任意值的数组,在另一个表中查找它们并计算与我的条件匹配的值。

2 个答案:

答案 0 :(得分:2)

像这样吗?

enter image description here

{=SUM((IFERROR(MATCH($D$2:$D$7,INDEX(IF($B$2:$B$13=$F$2,$A$2:$A$13),),0),0)>0)*1)}

答案 1 :(得分:0)

为什么不只是制作数据透视表的副本,添加切片器,以便用户可以在特定状态上对其进行过滤,然后将“状态”字段添加到“值”区域,以便对其进行计数?当您只需让PivotTable2按州进行总和时,将公式指向数据透视表1似乎适得其反。