公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必 “设为星标”哦!!!
点击上方蓝字 --> 点击“...”--> 选择“设为星标”
今天要教的函数 frequency 是很多 Excel 高手们的心头好,因为它实在太强大了,以一己之力,替代了 lookup、mod、sumif、countif、sumproduct 等等多种函数组合的效果。
所以话不多说,直接上案例,今天的干货内容非常多,强烈建议收藏保存!
案例:
基于下图的数据表,分别查询以下数据:
查询出每个指定分数区间的人数
统计奇数分的数量
统计偶数分的数量
统计男、女同学人数
解决方案 1:查询出每个指定分数区间的人数
分数区间如下,分别查出各区间对应的人数。
1. 增加一列辅助列,依次列出每个区间的最大值;“600分”以上的就留空
2. 选中 G2:G7 单元格区域
* 请注意:这一步很关键,必须同时选中需要统计人数的所有单元格
3. 输入以下公式,按 Ctrl+Shift+Enter 使数组函数生效:
=FREQUENCY(C2:C15,F2:F7)
* 请注意:
第二个参数,即选中的辅助列区域,必须将 F7 这个空单元格包含在内
必须按三键使之成为数组函数
在公式释义前,我们先来学习一下 frequency 函数。
作用:
计算数值在某个区域内的出现的次数,然后返回一个垂直的数组。
语法:
FREQUENCY(data_array, bins_array)
参数:
data_array:必需,要统计频率的数组
bins_array:必需,对 data_array 进行频率计算的分段点
公式释义:
虽然数组公式有点难以理解,但是根据上述描述,就不难知道这段公式的作用就是计算 C2:C15 区域中,以 F2:F7 中的每一个单元格为分段点的数据区间所出现的频率
如果还是不能理解,那我们来看一下参数说明,就比较清楚了:
选中 G2:G7 区域 --> 选择菜单栏的“公式”-->“插入函数”
在弹出的“函数参数”对话框中分别点击两个参数,查看其注释和结果;简单来说,第一个参数表示在哪里找,第二个参数表示区间规则。
解决方案 2:统计奇数分的数量
1. 在 H2 单元格输入以下公式:
=FREQUENCY(-1^C2:C15,0)
公式释义:
-1^C2:C15:将 C2:C15 区域的值分别作为 -1 的幂进行计算;奇数幂的结果为 -1,偶数幂的结果为 1;参见以下运算结果
=FREQUENCY(-1^C2:C15,0):以 0 为分段点,统计小于 0 的个数,即为奇数个数
解决方案 3:统计偶数分的数量
偶数的数量,可以用 count 统计出总数,再减去奇数的数量。
但本文是教学贴,所以还是有责任教一下单独统计偶数的公式。
1. 在 I2 单元格中输入以下公式:
=FREQUENCY(-(-1^C2:C15),0)
公式释义:
-(-1^C2:C15):在 -1 的 n 次幂前面加上负号,结果正好跟上述奇数计算结果相反,即奇数幂的结果为 1,偶数幂的结果为 -1
=FREQUENCY(-(-1^C2:C15),0):以 0 为分段点,统计小于 0 的个数,即为偶数个数
2. 现在我们随机修改一个分数,看一下奇偶数的计算结果是否会随之正确变化:
将 C2 单元格的分数改为偶数
红框中奇、偶数统计结果自动重新计算了,公式确认无误。
解决方案 4:统计男、女同学人数
给下表增加了“性别”列:需要在 J 列统计出男、女同学的人数。
1. 选中 J2:J3 单元格区域 --> 输入以下公式 --> 按 Ctrl+Shift+Enter 使数组函数生效:
=FREQUENCY(CODE(D2:D15),CODE(I2:I3))
公式释义:
frequency 函数的用法与“解决方案 1”相同,所以本例主要学会理解 code 函数
code 函数语法:CODE(text);
code 函数作用:返回文本字符串中第一个字符的数字代码
从下图的公式结果可以看出,code 函数将“男”、“女”分别转换成了对应的数字代码,从而使得 frequency 可以对两组数组进行频率统计
领取专属 10元无门槛券
私享最新 技术干货