当前位置:首页 > 辽宁 > 教育资讯

带大家了解 Excel 中 Frequency 函数在最大连胜场数的应用

原文标题:《千万别学Frequency函数,一学你就停不下来……》

大家好,我是小爽~

前面的文章我们介绍过Frequency函数的基础语法,里面利用了数据轴的方式进行解析~

Frequency函数的基础语法:

=FREQUENCY(Data_array,Bins_array)

=FREQUENCY(统计的区域,分段点)

在我百般追着赵老师继续写Frequency函数的延伸做法的「高压」之下,今天他终于「熬」出来了!!

所以现在我们来学习一下Frequency函数的延伸应用之一——最大连胜场数。

什么意思呢?我们来看几个实际生活工作中的案例。

一群学生在排队,连续排在一起的相同性别的学生,最多不能超过N个人,不然就要重新调整位置;

在考核中,如果员工连续出现N次客户投诉,就需要对该员工进行警告;

在比赛场上,有时候需要看最大连胜场数,用来判断成员的发挥情况。

……

这不,最近我跟赵老师来了一个比赛——丢硬币!!

(总共十场,丢到字面我赢,丢到花面赵老师赢。)

我对自己的胜负结果,用Excel做了一下记录,结果如下:

现在我们需要计算出最大连胜场数是多少。

如果是你,你会怎么做?

思考中……

思考中……

思考中……

从表中,我们观察到:各个连续的胜,被「败」分隔成了一块一块的。

其实就是以「败」出现的位置作为分段点,计算各点之间有多少个「胜」的问题。

Frequency,是一个可以忽略逻辑值和文本,只针对数值进行分段统计的函数。

因此,我们需要按照场次顺序,编一组有序数值,如G列;

再将胜与败的序号分两列展示,如I列和J列;

在I3单元格输入公式,下拉填充:

=IF(C3="胜",G3)

在J3单元格输入公式,下拉填充:

=IF(C3="败",G3)

通过观察,我们可以发现,要想计算出每一段胜的连续个数,我们只需要统计:

2之前有几个数,4~9之间有几个数,9之后有几个数。

这样我们就进入了Frequency函数,对数值进行分段统计个数的模式:

以「胜」对应的序号作为统计的数据点,「败」的序号作为分段点,Frequency函数就可以帮我们数个数啦!

=FREQUENCY(胜的序值,败的序值)

公式返回的一组数值就是各自区间连胜的场数,其中的最大值便是最大连胜场数。

按照前面的思路拆解,现在我们就来看看用Frequency函数,怎么解决这个最大连胜次数的问题。

在E3单元格输入公式:

=MAX(FREQUENCY(IF(C3:C12="胜",ROW(1:10)),IF(C3:C12="败",ROW(1:10))))

按[CTRL+SHIFT+ENTER]进行数组运算,得到结果如下图:

一顿操作猛如虎,且看我下方慢慢解析~

公式如下:

=MAX(FREQUENCY(IF(C3:C12="胜",ROW(1:10)),IF(C3:C12="败",ROW(1:10))))

其中:

IF(C3:C12="胜",ROW(1:10))

——表示返回胜对应的行序,作为统计区域;

IF(C3:C12="败",ROW(1:10))

——表示返回败对应的行序,作为分段点值;

接下来就是用Frequency函数求出各区间数值的个数,结果返回数组{1;0;0;4;1},也就是是各个连胜区间对应的个数。

最后再用MAX函数求出最大值,就是最大连胜场数了。

小小拓展一下,公式还可以简化为:

=MAX(FREQUENCY(ROW(1:11),IF(C3:C12<>"胜",ROW(1:10))))-1

为什么可以这么简化呢?

其实这个公式的原理,跟前面的思路是差不多的。

具体思路的拆解,就留给大家后面自己思考了。

本文介绍了Frequency函数在最大连胜场数的应用:

❶Frequency函数的语法规则:=Frequency(统计的区域,分段点)。

❷最大连胜场数的思路解析:当我们遇到类似关于统计连续出现最大次数的问题,可以构造一组有序数值,进入Frequency函数模式来解决。

❸公式原理:分段点就是败的序号,统计区域是胜的序号。

说好的Frequency函数基础语法相关文章,戳这里:

这个函数比COUNTIF好用,助你高效工作

如果你工作中经常用到Excel,偶尔还会为Excel熬夜加班,看教程觉得自己都会了,实操起来还是两眼一抹黑……

这个时候就需要系统地学习Excel啦!

本文来自网络,不代表教育资讯立场,转载请注明出处。