Excel多条件计数公式求解

多条件计数:不进行分类汇总的情况下,用一条公式计算出各个地区销量大于80的人数。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-08-24

本问题挺有意思,很有些挑战性,下面提供三种方法:公式法、数据透视表法和SQL查询法。

1. 公式法,有点难度。本人提供与其他人不一样的公式:

H2=SUMPRODUCT((SUMIF(C$2:C$12,C$2:C$12,D$2:D$12)*(B$2:B$12=G2)>80)*(FREQUENCY(ROW($1:$10),MATCH(IF(B$2:B$11=G2,$C$2:$C$11),IF(B$2:B$11=G2,$C$2:$C$11),))>0))

因为FREQUENCY比数据会多一行,所以公式前面部分也多取一行空白数据。

2. 数据透视表法,要求Excel版本2013或更高,插入数据透视表时,一定要勾选“将此数据添加到数据模型”,这是后面在生成的数据透视表中能够进行不重复计数的重要步骤。在生成的数据透视表中,把地市和姓名拖到行字段区域,销量拖到值字段区域,姓名再次拖到值字段区域。然后对行字段中的姓名进行筛选,条件:销量>80;对值区域的姓名字段在汇总依据中选择“不重复计数”

3. SQL查询,强烈推荐,一句话搞定:

select 地市, count(姓名) as 销量大于80的人数 from(select 地市, 姓名  from [Sheet1$a:d] group by 地市,姓名 having sum(销量)>80) group by 地市



PS:为了更好的看到了效果,对题主的数据源稍做了修改,使甲地市也有一个销量大于80的。

第2个回答  2019-08-24

其实题主的思路非常好,

已经说出来了答案。

我们知道有个条件计数的函数:

COUNTIF

那么多条件计数就是这样的:

COUNTIFS

具体到你的问题,公式如下:

H2

=COUNTIFS(B:B,G2,D:D,">80")

我简单解释一下

就是统计b列中等于g2且d列大于80的个数,

恰好符合题意。

同理可得H3

祝你进步

追问

不是计算销量大于80的个数,而是计算销量大于80的人数,按你们说的公式同一个人出现多次出现销量大于80的话就会导致这个人重复计算了,现在要算的是销量总和大于80的人数!同一个人不能按两个或多个人算啊!

第3个回答  2019-08-24

度友,匿名用户的回答是正确的,
具体效果如图


具体公式,
=SUMPRODUCT((SUMIF($C$2:$C$11,$C$2:$C$11,$D$2:$D$11)>80)*(MATCH($C$2:$C$11,$C$2:$C$11)=ROW($1:$10))*($B$2:$B$11=G2))
可直接复制粘贴使用,
有需要可继续交流!!!

第4个回答  2019-08-24
=SUMPRODUCT((SUMIF($C$2:$C$11,$C$2:$C$11,$D$2:$D$11)>80)*(MATCH($C$2:$C$11,$C$2:$C$11,)=ROW($1:$10))*($B$2:$B$11=G2))
相似回答