原文信息
标题:COUNTIF函数高能应用,够了!
作者: Excel之家ExcelHome
链接:http://t.cn/Rx51E5T
原文大意
文中主要介绍了3中应用场景:
-
不一样的序号。(分组填充不同的序号)
在A2单元格输入公式,向下复制:
=COUNTIF(B$2:B2,B2)
-
计算不重复人数
-
提取不重复名单
原文中也进行了详细的解释。但是还是有几点可以继续改进:
- 公式太复杂,不方便记忆
- 公式可以进行归类梳理,在sumProduct()函数中,也经常出现类似的公式。
拆为己用
根据原文中的三个公式,可以简单的总结出以下几种,编写公式的常用技巧:
1-拉灯法
=COUNTIF(B$2:B2,B2)
拉灯法是指:公式中数据区域地址,只锁定一半,当单元格位置变化,公式引用的数据范围也会随之发生变化。
正如拉灯法的含义,通常当公式引用范围需要动态变更时,可以考虑这个方法。
2-倒数法
=SUMPRODUCT(1/COUNTIF(C2:C14,C2:C14))
倒数法是指,对一个只包含数字的数组,取其倒数。通常是用1除以这个数组。常有的倒数结果有:
- 小数:数组取倒数之后,这些小数相加刚好为1,用来获取不重复数据的格式。
- #DIV/0!:这个数组通常由0和1构成,除以0之后结果错误,对剩余的数据进行求和或计数,计算有效数据的总和或个数。
3- 构建0-1数组
=INDEX(C:C,1+MATCH(,COUNTIF(E$1:E1,C$2:C$15),))&""
构建0-1数组是指:基于数组公式和COUNTIF构建一组只包含0和1的数组。然后可以对该数组进行以下处理:
- 求和。结合sumProduct计算匹配总个数。
- 查找首次出现。结合MATCH函数,计算首次出现的数字位置。
4- Match模糊查找
=INDEX(C:C,1+MATCH(,COUNTIF(E$1:E1,C$2:C$15),))&""
MATCH函数的第1和第3个参数为空(即默认分别为0和1),意思是在第2个参数中,查找第一次出现0的位置。
掌握了这几个技巧后,后续在VLOOKUP和SUMPRODUCT等复杂的函数中,都有可能会用得到。