请选择 进入手机版 | 继续访问电脑版
在线投稿 文字标题 文字标题 文字标题 文字标题 文字标题
切换皮肤
一起来学office,提高办公技能
问题情境
如下样表:
?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F0329%2F6dbd4af6p00q7xjd5000jd200d400efg00d400ef.jpg

(图一)
在不同的日期段,项目参与人不同,但参与人可以参与多个日期段,所有,参与人一列中有许多重复人员。
要求:计算参与人数。
韩老师有几个不同的公式,都可以得到正确结果。
一、SUMPRODUCT+COUNTIF
公式:
=SUMPRODUCT(1/COUNTIF(B2:B26,B2:B26))
解析:COUNTIF(B2:B26,B2:B26):是每一个姓名出现的次数组成的数组,
如下图,是用此公式得出的每个姓名出现的次数。
?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F0329%2F5f438c63p00q7xjd5000kd200cx00fpg00cx00fp.jpg
(图二)
1/COUNTIF(B2:B26,B2:B26)得到如下数组:
?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F0329%2F39f81b0cj00q7xjd60025d200ef00g9g00ef00g9.jpg
(图三)
SUMPRODUCT将上述数组元素求和,即是不重复姓名的个数。
二、SUM+COUNTIF
公式:
{=SUM(1/COUNTIF(B2:B26,B2:B26))}
原理和第一个公式相同,只不过用数组运算方式,所以用三键结束。
三、COUNT+FREQUENCY
=COUNT(1/FREQUENCY(MATCH(B2:B26,B2:B26,0),ROW(1:25)))
(MATCH(B2:B26,B2:B26,0)返回值如图四F列所示;
?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F0329%2Fe8a8ee6aj00q7xjd6002sd200pe00fmg00pe00fm.jpg
(图四)
FREQUENCY(MATCH(B2:B26,B2:B26,0),ROW(1:25))返回图四F列出现的频率,FREQUENCY只返回相同值中第一个值出现的频率。
关于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)

回复

使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则


    Archiver|手机版|小黑屋|齐聚无忧 |网站地图

    Powered by Discuz! X3.4  © 2001-2013 Comsenz Inc.