分享

Excel排除重复值计算个数,请你来补充公式

 bitterfleabane 2020-03-18

每天清晨六点,准时与您相约

问题情境

如下样表:

(图一)

在不同的日期段,项目参与人不同,但参与人可以参与多个日期段,所有,参与人一列中有许多重复人员。

要求:计算参与人数。

韩老师有几个不同的公式,都可以得到正确结果。

一、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))}

原理和第一个公式相同,只不过用数组运算方式,所以用<Ctrl+Shfit+Enter>三键结束。

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函数已经讲过了,大家自己下载案例练习,来分析一下这个公式哦。

OFFSET函数参考:Excel222 | OFFSET偏移函数,是这样用的

案例下载

链接:https://pan.baidu.com/s/1RfFxj6tx4LIeuX1EC-BGBA

密码:hw93


你还有哪些公式?留言哦

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多