使用FREQUENCY函数,可以帮助创建频率分布 。例如,计算某班学生的语文成绩的频率分布,分别在0~59、60~69、70~79、80~89、90分以上的区间的学生数 。
文章插图
图1
什么情况下使用FREQUENCY函数?
FREQUENCY函数以一列垂直数组返回一组数据的频率分布 。它能够:
创建学生成绩的频率分布
创建百分比形式的频率分布
统计单元格区域中不重复值的数量
获取单元格区域中不重复值
FREQUENCY函数语法
FREQUENCY函数有2个参数,其语法如下:
FREQUENCY(data_array,bins_array)
data_array: 代表用来计算频率的数组,或者单元格区域 。
bins_array: 由每个区间上限数字组成的数组或者单元格区域 。
返回的值为一个数组,代表每个区间的数值个数且该数组包含的元素数总比参数bins_array中的个数多1,多出的这个数字是Excel自动创建的最后一个区间中的数值个数 。
返回的数组为垂直数组,可以使用TRANSPOSE函数将其转换成水平数组 。
该函数忽略空单元格和文本 。
如果参数bins_array中有重复的值,那么重复的值统计的数为0 。
FREQUENCY函数陷阱
在参数bins_array中,只需指定每个区间的上限,但不一定需要指定最后一个区间的上限(因为它可能是无穷大),它会自动包括在区间中 。由于FREQUENCY函数的返回值是数组,因此输入完成后应按Ctrl+Shift+Enter键 。如果参数bins_array中有n个值,那么函数输出的区域应该包括n+1个单元格,否则数据会显示不全 。
FREQUENCY函数统计的结果包括区间的上限值,但不包括区间的下限值 。如果想统计的结果不包括区间的上限值但包括区间的下限值,可以使用COUNTIF函数和COUNTIFS函数 。
示例1: 创建学生成绩的频率分布
如下图2的示例工作表,要创建学生语文成绩的频率分布,即分别在0~59、60~69、70~79、80~89、90分以上的区间的学生数,使用数组公式:
=FREQUENCY(B3:B28,D4:D7)
返回数组{4;4;5;6;7} 。
文章插图
图2
示例2: 创建百分比形式的频率分布
下图3所示工作表中,命名区域Data为A1:D9 。计算区域Data中分别落在0~20、21~40、41~60、61~80、81~100区间的数值数量的公式为:
=FREQUENCY(Data,G3:G7)
这是一个数组公式,因此输入完成后要按Ctrl+Shift+Enter组合键 。
创建百分比形式的频率分布的数组公式为:
=FREQUENCY(Data,G3:G7)/COUNT(Data)
文章插图
图3
示例3: 统计单元格区域中不重复值的数量
有多种方法可以统计单元格区域中不重复值的数量,使用FREQUENCY函数是其中的一种 。如下图4所示的工作表,需要统计列A中有多少唯一的付款账户,数组公式为:
=SUMPRODUCT(–(FREQUENCY(A2:A7,A2:A7)>0))
文章插图
图4
也可以使用COUNIF函数进行统计,数组公式为:
=SUMPRODUCT(1/COUNTIF(A2:A7,A2:A7))
如果要统计的不重复值的数据是文本(如图5)或者文本和数据的混合,例如,统计图5列D中不同付款人的数量,那么可以使用数组公式:
=SUMPRODUCT(–(FREQUENCY(MATCH(D2:D7,D2:D7,0),ROW(D2:D7)-ROW(D2)+1)>0))
文章插图
图5
当然,此时使用COUNTIF函数的公式将更简单 。
如果要统计满足多于1个条件的不重复值的数量,例如下图6所示的工作表,要统计付款日期为2017年9月30日之后且付款金额大于等于1000的唯一付款账户数,在单元格D9中输入指定的日期,单元格D10中输入金额,那么数组公式为:
推荐阅读
- excel函数获取重复次数最多的值
- LEN函数
- LINEST函数
- excel函数获取重复数据出现的最大次数
- excel函数求单元格区域中指定词语出现的次数
- excel函数获取与查找值相对应的多个值
- excel常用函数判断回文
- excel函数获取与满足多个查找条件的所有值
- excel函数求相邻单元格两两相乘之积的和
- 笔记本电脑防盗锁孔怎么使用