时间:2023-10-18 10:15:28 来源:本站 人气:
如下样表:
(图一)
在不同的日期段,项目参与人不同,但参与人可以参与多个日期段,所有,参与人一列中有许多重复人员。
要求:计算参与人数。
有几个不同的公式,都可以得到正确结果。
一、SUMPRODUCT+COUNTIF
公式:
=SUMPRODUCT(1/COUNTIF(B2:B26,B2:B26))
解析:COUNTIF(B2:B26,B2:B26):是每一个姓名出现的次数组成的数组,
如下图,是用此公式得出的每个姓名出现的次数。
(图二)
1/COUNTIF(B2:B26,B2:B26)得到如下数组:
(图三)
SUMPRODUCT将上述数组元素求和,即是不重复姓名的个数。
二、SUM+COUNTIF
公式:
{=SUM(1/COUNTIF(B2:B26,B2:B26))}
原理和第一个公式相同,只不过用数组运算方式,所以用三键结束。
Excel109 SUM+COUNTIF统计不重复值的个数
三、COUNT+FREQUENCY
=COUNT(1/FREQUENCY(MATCH(B2:B26,B2:B26,0),ROW(1:25)))
(MATCH(B2:B26,B2:B26,0)返回值如图四F列所示;
(图四)
FREQUENCY(MATCH(B2:B26,B2:B26,0),ROW(1:25))返回图四F列出现的频率,FREQUENCY只返回相同值中第一个值出现的频率。
关于FREQUENCY,请参考:
Excel108 FREQUENCY函数分段计数
四、SUM+FREQUENCY
=SUM(–(FREQUENCY(MATCH(B2:B26,B2:B26,0),MATCH(B2:B26,B2:B26,0))<>0))
FREQUENCY(MATCH(B2:B26,B2:B26,0),MATCH(B2:B26,B2:B26,0)的返回值如图四H列所示,再与0比较,<>0的返回TURE,否则返回FLASE,再用减负运算(–),将TURE或FLASE转为1或0,再求和。
五、SUMPRODUCT+FREQUENCY
=SUMPRODUCT(–(FREQUENCY(MATCH(B2:B26,B2:B26,0),MATCH(B2:B26,B2:B26,0))<>0))
原来同公式四。
六、FREQUENCY+COUNT
=FREQUENCY(COUNTIF(OFFSET(B2,,,ROW(1:25)),B2:B26),1)
OFFSET函数已经过了,大家自己下载案例练习,来分析一下这个公式哦。