分享

一直以为自己很擅长按条件统计,直到有一天看到同事用FREQUENCY函数...

 EXCEL应用之家 2024-12-18 发布于上海


欢迎转发和点一下“看”,文末留言互动!

置顶公众号或设为星标及时接收更新不迷路



小伙伴们好,今天来和大家分享一道统计题目。这道题目用到了FREQUENCY函数的基本应用,赶紧一起来看看吧!

原题目是这样的:



根据分数以及分档规则,来算一算每个等级的人数。

这道题目实际上就是用到了FREQUENCY函数的分段计频功能。题目中的分档规则就是分段标准,而成绩排序后生成的数组就是待统计数据。

01

分段计频利器--FREQUENCY函数



选中单元格区域F12:F19,输入下列公式,三键确认即可。

=FREQUENCY(RANK($B$2:$B$33,$B$2:$B$33),--MIDB($E$3:$E$9,FINDB("到",$E$3:$E$9)+1,3))

这个功能是FREQUENCY函数最基本的功能,因此必须要掌握。

RANK($B$2:$B$33,$B$2:$B$33)

对成绩进行排序。由于分档规则是按照排名来制定的,因此首先对成绩排名。这部分得到的是一组自然数序列。

--MIDB($E$3:$E$9,FINDB("到",$E$3:$E$9)+1,3)

那怎么取得分档的计频点呢?利用FINDB函数可以找到汉字“到”的位置后,从下一个位置开始,提取长度为3个字节长度的字符串。

注意,这道题目的成功之处就在于这里使用了MIDB函数和FINDB函数。以等级A为例:

FINDB("到",$E$3:$E$9)返回的结果是“5”。因为FINDB函数以字节数为基础来查找。一个汉字等于2个字节,源数据中的标点符号也是中文标点,也是2个字节。因此,汉字“到”位于第5个位置

MIDB($E$3:$E$9,FINDB("到",$E$3:$E$9)+1,3)

MIDB函数从第6个字节开始提取。但是第6个字节上也是汉字“到”子,MIDB函数不可能将一个汉字拆散,因此第6个字节返回一个空格“ ”。

提取3个字节长度的字符串,最终返回的结果是“2 ”,即数字2前后各有一个空格。

这部分返回的结果是{" 2 ";" 5 ";" 10";" 19";" 25";" 30";" 32"},你看数字或前、或后都有空格。

--MIDB($E$3:$E$9,FINDB("到",$E$3:$E$9)+1,3)

减负运算后将空格去除,生成数值型数字。结果为{2;5;10;19;25;30;32}。

FREQUENCY(RANK($B$2:$B$33,$B$2:$B$33),--MIDB($E$3:$E$9,FINDB("到",$E$3:$E$9)+1,3))

最后由FREQUENCY函数来计频,得到每个分档的人数。这部分结果为{2;3;5;9;6;5;2;0}。

FREQUENCY函数的计频结果会比分段区间数量多一个,表示比最大数大的数字的个数。这里没有比最大数32还要大的数字,因此计频0。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多