函数FREQUENCY的官方定义:以一列垂直数组返回一组数据的频率分布。不知道你能从中读取多少信息,我反正我是一头雾水。
换个说法:一刀两段(断),一根绳子,1刀下去变成2段,2刀3段,3刀4段……,FREQUENCY把一组数据分为若干段,并统计各段的个数。
参数:=FREQUENCY(数据数组; 分组区间数组)
=FREQUENCY({1,2,3,4,5,6,7,8,9,10},5)
把1~10以5为界分为2段,统计小于等于5的个数,以及大于5的个数,结果是一个数组{5;5}。
=FREQUENCY({1,2,3,4,5,6,7,8,9,10},{4,6})
把1~10以4和6为界分为3段:小于等于4,4~6(含6),大于6. 统计各段的数量,结果是一个数组{4;2;4}。
第一参数就像一条绳子,上面挂满了密密麻麻的数字,第二参数藏了N把刀,把第一参数砍成N+1段,再统计各段上数字的个数。所以FREQUENCY的作用常被描述为分段统计。
注意,第一参数这条绳子上的数字并不要求按顺序排列,也允许重复。
统计及格人数
对学生的分数数组运用FREQUENCY,以59分为界,统计未及格和及格人数:
=FREQUENCY(C3:C14,59)
按工龄统计人数
=FREQUENCY(DATEDIF(C3:C14,"2023/1/1","m"),{5,11,23,35})
函数DATEDIF返回入职日期到2023/1/1之间的月数,FREQUECY按月数划分为5个区间段并统计数量。
案例中将6个月划分到“1年内”这个区间,所以以5为界;如要将其划分到“半年内”,以6为界即可。
最大连胜
在LAMBDA出现之前,FREQUENCY是统计某元素连续出现最大次数的最优解。
=MAX(FREQUENCY(IF(B3:B14="胜",ROW(1:12),""),IF(B3:B14<>"胜",ROW(1:12),"")))
这个公式有点烧脑,把两个IF函数提取出来作为辅助列存在,FREQUENCY引用作为两个参数,这样就很容易理解了。
FREQUENCY同样属于不常用函数,应用场景有限,但一旦用上就是无可替代的存在。