每天清晨六点,准时与您相约 如下样表: (图一) 在不同的日期段,项目参与人不同,但参与人可以参与多个日期段,所有,参与人一列中有许多重复人员。 要求:计算参与人数。 韩老师有几个不同的公式,都可以得到正确结果。 公式: =SUMPRODUCT(1/COUNTIF(B2:B26,B2:B26)) 解析:COUNTIF(B2:B26,B2:B26):是每一个姓名出现的次数组成的数组, 如下图,是用此公式得出的每个姓名出现的次数。 (图二) 1/COUNTIF(B2:B26,B2:B26)得到如下数组: (图三) SUMPRODUCT将上述数组元素求和,即是不重复姓名的个数。 公式: {=SUM(1/COUNTIF(B2:B26,B2:B26))} 原理和第一个公式相同,只不过用数组运算方式,所以用<Ctrl+Shfit+Enter>三键结束。 Excel109 | SUM+COUNTIF统计不重复值的个数 =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,请参考: =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(MATCH(B2:B26,B2:B26,0),MATCH(B2:B26,B2:B26,0))<>0)) 原来同公式四。 =FREQUENCY(COUNTIF(OFFSET(B2,,,ROW(1:25)),B2:B26),1) OFFSET函数已经讲过了,大家自己下载案例练习,来分析一下这个公式哦。 (OFFSET函数参考:Excel222 | OFFSET偏移函数,是这样用的) 链接:https://pan.baidu.com/s/1RfFxj6tx4LIeuX1EC-BGBA 密码:hw93 你还有哪些公式?留言哦 |
|
来自: bitterfleabane > 《EXCEL》