excel中求区域A1:A100内不重复的数据个数的公式:=SUMPRODUCT(1/COUNTIF(A1:A100,A1:A100)),怎么理解?
1个回答
展开全部
其实这个就是 F9你没经常用的缘故,对公式不懂,建议你用F9查看这个公宴败扮式运行的基理。
那这个公式来说:
=SUMPRODUCT(1/COUNTIF(A1:A100,A1:A100))
先说COUNTIF函数部分:
我为了描述枯岁方便,把范围缩小下。
=SUMPRODUCT(1/COUNTIF(A1:A5,A1:A5))
COUNTIF(A1:A5,A1:A5)
这部分统计的是对A1:A5范围内,A1单元格内数据重复了多少个,A2…晌灶重复…,A3……,……。COUNTIF统计的结果是1列5行的内存数组。
想想看,要是A1重复了2次,那么统计的结果就是2,要是A1没重复,那么就是1。现在假设A1到A5这组数据为
1
2
3
2
1
那么A1到A5分别重复了:2 2 1 2 2
COUNTAIF的结果用F9你势必会看到:
{2;2;1;2;2}
再看整体函数
=SUMPRODUCT(1/COUNTIF(A1:A5,A1:A5))
1/{2;2;1;2;2}={1/2;1/2;1;1/2;1/2}
SUMPRODUCT的结果是3!
好象解释的很糟糕。
公式是巧妙的借用了数据重复次数为N,那么N*1/N=1。
那这个公式来说:
=SUMPRODUCT(1/COUNTIF(A1:A100,A1:A100))
先说COUNTIF函数部分:
我为了描述枯岁方便,把范围缩小下。
=SUMPRODUCT(1/COUNTIF(A1:A5,A1:A5))
COUNTIF(A1:A5,A1:A5)
这部分统计的是对A1:A5范围内,A1单元格内数据重复了多少个,A2…晌灶重复…,A3……,……。COUNTIF统计的结果是1列5行的内存数组。
想想看,要是A1重复了2次,那么统计的结果就是2,要是A1没重复,那么就是1。现在假设A1到A5这组数据为
1
2
3
2
1
那么A1到A5分别重复了:2 2 1 2 2
COUNTAIF的结果用F9你势必会看到:
{2;2;1;2;2}
再看整体函数
=SUMPRODUCT(1/COUNTIF(A1:A5,A1:A5))
1/{2;2;1;2;2}={1/2;1/2;1;1/2;1/2}
SUMPRODUCT的结果是3!
好象解释的很糟糕。
公式是巧妙的借用了数据重复次数为N,那么N*1/N=1。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询