WPS表格 FREQUENCY 函数:数据里的"人口普查员"
有网友咨询了这样一个问题:我有一大堆成绩数据,想快速统计出每个分数段有多少人,比如60分以下多少人、60-70分多少人……一个一个数太慢了,有没有什么好办法?
这个问题问得好!工作中经常遇到这样的场景——销售业绩分档、考试成绩分段、年龄分组统计……以前我也是一格一格地数,直到我学到了一招,用 FREQUENCY 函数 就能轻松搞定。今天分享给大家。
先认识一下 FREQUENCY 函数
这个函数的名字挺长,但别被它吓到。它的作用就是帮我们统计数据落在各个区间里的个数。
语法也很简单:
=FREQUENCY(data_array, bins_array)
两个参数说明:
|
|
|
|
|---|---|---|
| data_array |
|
|
| bins_array |
|
|
这里有个关键点:如果有 N 个分界线,FREQUENCY 会返回 N+1 个结果——多出来的那个是”超出最高分界线”的数据个数。
第一种方法:先设定分界线,再用 FREQUENCY
这是最常规的用法,也是大家最容易理解的方式。
场景: 统计全班50个学生的成绩,看看各分数段有多少人。
第一步:设定分界线
先设定好分数段的分界线。注意,这里的分界线是”上限值”。
比如我要分这几个段:
-
60分以下 -
60~69分 -
70~79分 -
80~89分 -
90分及以上
那么分界线就填:59, 69, 79, 89
第二步:选中结果区域
因为分界线有4个,结果会有5个,所以要选5个单元格。
第三步:输入公式
=FREQUENCY(A2:A51, D2:D5)
假设成绩在A2:A51,分界线在D2:D5
第四步:老版本Excel按下 Ctrl+Shift+Enter
WPS最新版本直接按 Enter 也行,它会自动识别为数组公式。

结果就出来了!每个分数段的人数一目了然。
第二种方法:用 FREQUENCY 统计不重复个数
这个方法我也是最近才学到的,分享给大家。
FREQUENCY 还有一个隐藏技能——配合 IF 函数可以统计不重复数据的个数。
场景: 有一份销售记录,想统计一共有多少个不同的产品被卖出。
公式这样写:
=SUM(IF(FREQUENCY(MATCH(产品区域, 产品区域, 0), ROW(产品区域)-ROW(第一个单元格)+1), 1))
思路是这样的:先用 MATCH 定位每个产品第一次出现的位置,再用 FREQUENCY 统计每个位置出现的次数,最后用 IF 判断——出现次数大于0的就是不重复的产品。
当然,这个公式对新手来说可能有点绕。没关系,先用第一种方法就够用了!
第三种方法:用 FREQUENCY 按条件统计最大值
这个用法更有意思了。FREQUENCY 还能帮我们找到某个条件下的最大值。
场景: 每个部门有多名员工,想找出每个部门的最高销售额。
公式:
=MAX(IF(部门区域=指定部门, FREQUENCY(ROW(销售额区域), IF(部门区域=指定部门, 0, ROW(销售额区域)))*销售额区域))
这个公式比较复杂,大家理解思路就好——FREQUENCY 本质上是在做”分组统计”,所以很多需要”按组”计算的场景,它都能派上用场。
使用 FREQUENCY 的三个注意事项
① FREQUENCY 返回的是数组
所以选择结果区域时要多选一个单元格。
② 它会忽略空白单元格和文本
不用担心数据中有空行。
③ 分界线要按升序排列
否则结果会乱。
今天的分享就到这里。FREQUENCY 函数看起来有点”高冷”,但其实只要理解了”分界线”的概念,用起来就很顺手。你平时有没有遇到过需要分段统计的场景?欢迎留言分享你的用法!
我是墨云轩热衷分享办公小技巧,边学习,边分享,每天进步一点点!
感谢您的阅读!
夜雨聆风