Excel 统计符合条件不重复的个数

iamlaosong文

要求从货运明细中统计各省某日发货点数量,公式如下:

=SUMPRODUCT((Sheet1!$L$2:$L$1747=B6) * (Sheet1!$M$2:$M1747=$A$1) / COUNTIF(Sheet1!$U$2:$U$1747,Sheet1!$U$2:$U$1747))

Sheet1是货运明细,其中L列是发货省,B6是要统计的省份;M列是发货日期,A1是要统计的日期,U列是发货点。

需要注意的是最大行数1747必须是有效行数,如果为了通用,把行数放大,比如2000,由于1747行后面没有数据,导致countif函数的统计结果为0,就会产生被零除的错误。

这儿的=SUMPRODUCT(1/COUNTIF(Sheet1!$U$2:$U$1747,Sheet1!$U$2:$U$1747))就是求不重复的个数。这个公式需要细细体会,分母的结果是一个数组,sumproduct再对这个数组求和。假定某个值只有1个,COUNTIF对该值的计数也是1,结果就是1;如果某个值有3个,COUNTIF对该值的计数就是3,倒数就是1/3(三分之一),而3个三分之一求和的结果也是1。所以这个公式的最终结果就是不重复的个数。

这种方法给客户后,客户说函数的运算量大,很卡。换个方法吧,先对明细建立一个查询,本想用SQL语句一次完成,可是,用于Excel的S

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值