Frequency函数可以用于统计数据的频率分布,其语法为frequency(data_array,bins_array)。其中参数data_array指需要对其频率进行计数的一组数值或对这组数值的引用,bins_array指数据分组的间隔。
本文通过6个示例来讲解Frequency函数的用法。
一、计算各年龄段人数
如下图所示,A1:C11为员工信息表。要求计算各年龄段人数。
选中G2:G4单元格,输入公式:=FREQUENCY($C$2:$C$11,$F$2:$F$3),按Ctrl+Shift+Enter结束公式输入。
从上图Frequency函数返回的结果来看,年龄“<=29”的有4人;年龄“>30”且“<=39”的有3人;年龄“>39”的有3人。
本例中输入Frequency函数时要注意以下两点:
(1)Frequency函数返回的是一个垂直数组。在输入Frequency函数前,要先选中存放Frequency函数返回值的单元格区域。这个选中的单元格区域大小需要和分界点一致,或比分界点大。比如本例中分界点为F2:F3,在输入公式前,先选中G2:G4。
(2)按Ctrl+Shift+Enter结束公式输入。
二、计算各年龄段女性员工人数
如下图所示,要求计算各年龄段女员工人数。选中G2:G4单元格,输入公式:=FREQUENCY(IF($B$2:$B$11="女",$C$2:$C$11,""),$F$2:$F$3),按Ctrl+Shift+Enter结束公式输入。
三、参数bins_array和data_array相同
如下图所示,要求计算A2:A8中每个数值出现的个数。
选中D2:D8单元格,输入公式:=FREQUENCY(A2:A8,A2:A8),按Ctrl+Shift+Enter结束公式输入。
本例中,Frequency函数的参数data_array和bins_array相同。从Frequency函数返回的结果来看,数值“4”出现1次,数值“2”出现2次,数值“3”出现2次,数值“1”出现2次。
但对于C6:C8单元格的分界点来说,Frequency函数返回的值却为“0”。这是由于C6:C8单元格的分界点已经在C2:C5统计过了。
Frequency函数的这个特点常被用于统计非重复值的个数。
四、统计非重复数值出现的个数
如下图所示,要求统计B2:B8出现的非重复数值个数。
在D2单元格输入公式:=SUM(--(FREQUENCY(B2:B8,B2:B8)>0))
五、统计非重复文本出现的个数
如下图所示,要求统计A2:A8出现的非重复姓名的个数。
在C2单元格输入公式:
=SUMPRODUCT(--(FREQUENCY(MATCH(A2:A8,A2:A8,0),ROW(1:7))>0))
Frequency函数不能直接用于统计文本出现的频率,因此先使用MATCH函数查找文本出现的位置,将文本转为数值,然后再使用Frequency函数。
六、设置条件下非重复文本出现的个数
如下图所示,要求统计“1班”非重复姓名个数。在D2单元格输入公式:
=SUM(--(FREQUENCY(IF(A2:A8="1班",MATCH(B2:B8,B2:B8,0)),ROW(1:7))>0))
按Ctrl+Shift+Enter结束公式输入。