c++ 统计数组中重复数个数_Excel 版本低也不怕,用 countif 也能按区间计算、统计唯一值...

我前不久曾教过大家如何统计区域内符合多个条件的单元格个数,详情请参阅 Excel – 统计同时满足多个条件的单元格数,你要用几个函数?

但是有些同学反馈自己的 Excel 版本比较低,无法使用 countifs 函数,咨询有没有低版本函数能替代的公式?

那我今天就教大家几个 countif 的使用案例。

案例 1:按区间统计

下图 1 的 A 至 C 列是各销售人员每个月的单笔提成记录,可能每月有多笔提成,也可能没有。

需要在右侧按不同的金额区间统计总提成笔数。

效果如下图 2 所示。

2b80e3955a13536d4af53c7721d22ecb.png
527614798d50e9782ffe3f91f1ecdfa4.png

解决方案 1:

1. 在 F2 单元格中输入以下公式:

=SUM(COUNTIF($C$2:$C$24,{">=1000",">=1500"})*{1,-1})

公式释义:

  • COUNTIF($C$2:$C$24,{">=1000",">=1500"}):分别统计出提成大于等于1000 和大于等于 1500 的个数,返回一组数组
  • ...*{1,-1}:用上述数组乘以另一个数组 {1,-1},再次等到一个数组,其中大于等于 1000 的个数为正数,而大于等于 1500 的个数为负数
  • 最后用 SUM 函数将数组中的每个数相加,相当于用大于等于1000 的个数减去大于等于 1500 的个数,从而实现区间统计
01b4cfdc696764e7c5de5cbddf3f9e92.png
82501df9c5f30f0cfca4a98369afa0c3.png

2. F3 单元格中的公式只要将区间数据稍加变通即可:

=SUM(COUNTIF($C$2:$C$24,{">=1500",">=2000"})*{1,-1})

7a4c46a0ddbfd669a9fe07ed4e9fae31.png
7b1b25714f11277d8636157ad7df55b9.png

案例 2:统计不重复人数

在 E7 单元格中计算整个数据表中的非重复姓名数。

da389e4cd0d58aeb1ad7398f4b4eb2cd.png

解决方案 2:

1. 在 E7 单元格中输入以下公式 --> 按 Ctrl+Shift+Enter 结束:

=SUM(1/COUNTIF(B2:B24,B2:B24))

公式释义:

  • COUNTIF(B2:B24,B2:B24):统计 B2:B24 区域中,每个名字出现的次数;本例的结果为 {3;4;2;4;4;2;1;3;3;4;2;4;4;4;4;3;4;3;4;4;2;4;3}
  • 1/COUNTIF(B2:B24,B2:B24):用 1 除以上述数组,得到一组分数
  • SUM(1/COUNTIF(B2:B24,B2:B24)):将以上分数相加,就是每个名字出现的唯一次数。比如,“赵铁锤”出现过 3 次,数组中就会有 3 个 1/3,sum 求和的结果正好为 1
  • 数组公式,需要按三键结束。
21d97ca4c99ca540c8bbc82ac1083e54.png
6753e62eb46402227af5823ae8f3a1ab.png

案例 3:统计非空提成数

统计数据表区域内提成数不为空的单元格数。

5f074ddd88516bfbdf4fe6aa2424010b.png

解决方案 3:

统计非空单元格数可以使用函数 counta。

1. 在 E11 单元格中输入以下公式:

=COUNTA(C2:C24)

* counta 函数用于计算范围中不为空的单元格的个数。由于 C2:C24 的非空单元格都是数值,所以本例也可以将 counta 替换为 count 函数。

633b54c569dd6ced718d38bb585be933.png
9543069c5ba61d01fdb6cdbcfe77d7e1.png

如果用 countif 函数也能实现同样的效果。

2. 在 E12 单元格中输入以下公式:

=COUNTIF(C2:C24,"<>")

公式释义:

  • "<>":表示非空
  • COUNTIF(C2:C24,"<>"):统计参数区域内非空单元格的个数
d73347f388cb1fd9f595be0485d62e88.png
9dd6a392c3d1ef8b628a28ce921c782d.png

案例 4:统计空提成数

统计数据表区域内提成为空的单元格数。

解决方案 4:

统计空单元格数同样有专门的函数 countblank。

1. 在 F11 单元格中输入以下公式:

=COUNTBLANK(C2:C24)

729b1c39471949d11d5f04d39621eae7.png
b5b084818f1a7c205ee73c3740cef406.png

这个案例一样也可以用 countif 函数来实现。

2. 在 F12 单元格中输入以下公式:

=COUNTIF(C2:C24,"")

公式释义:

  • "":表示空
  • COUNTIF(C2:C24,""):统计参数区域内空单元格的个数
c275c76f4de1ef3e8d3a96ecc1fb4c19.png
9e9402dc2d73767dcbe56381b4e0160a.png

很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值