excel中如何统计一列数据中不重复的个数

来源:百度知道 编辑:UC知道 时间:2024/05/24 05:54:54
比如一列数据分别为:1,2,3,1,3,2,5
不重复统计共4 个数字,如何用公式实现
最好不要用countif 这个公式慢得要死,尤其是在数据量很大的时候

假设你的数据在a1:g1,输入数组公式
=SUM(--(MATCH(A1:G1&" ",A1:G1&" ",0)=COLUMN(A:G)))
假设你的数据在a1:a7,输入数组公式
=SUM(--(MATCH(A1:A7&" ",A1:A7&" ",0)=ROW(1:7)))
公式输入后以ctrl+shift+enter结束,用以添加花括号
公式的计算原理,利用数据在区域内的位置与行号(或列号)做比较,从而统计不重复数据的个数
优点是当区域内存在空值时,公式计算依然正确,
而数组公式{=sum((1/countif(a1:a7,a1:a7)))}则会计算错误。

数据量大的时候运算速度慢是很正常的,提供楼主另外一个函数:
假如例子里的数据在a1到g1,在a2输入公式=COUNT(MATCH({0,1}+{0;2;4;6;8},A1:G1,0))

假如数据放到A1:A7中

结果单元格输入

=SUMPRODUCT(1/COUNTIF(A1:A7,A1:A7))

公式中的范围根据自己的范围修改下

=SUMPRODUCT(1/COUNTIF(A1:A7,A1:A7))
这个统计不就是用一个公式吗?不至于那么慢吧。

=sumproduct((1/countif(a1:a7,a1:a7))) , 根据实际调整数据范围