一般的Excel用户中,能了解frequency函数用法的人很少,因为这个函数教程少,理解起来有点困难。但它却是Excel高手的最爱,但为有些Excel问题非它不可。例如数据的最大连续个数问题。 先了解一下FREQUENCY函数的统计原理。 FREQENCY(数据区域,用于设置区间分隔点的数组) 作用: 简单的说就是在设置好的各个数值区间内,存在几个数。(频率分布) 【例】:A列有35,45,68,78,75,90,要分别计算 0~60、61~80、80以上这三个区域分别有几个数。公式就可以这样写。 =FREQUENCY(A1:A6,B1:B2)
分析: 虽然我们要设置三个区域,我们只需要设置两个数即可,即60和80,它就代表着0~60 、61~80、大于80三个区间。也就是说FREQUENCY上函数返回的结果总比第二个参数的数字个数大1个。 注意: 因为这个是一个数组函数,所以在输入时要选取大于分段点的一个的单元格数量,输入公式,按CTRL SHIFT ENTER结束输入。 了解了FREQUENCY的计算原理,下面我们看一下它在计算最大连续数中的应用。 【例】如下图所示,B列中含1的表示张三的已签到,留空的为未签到。要求计算张三最大连续签到的次数。
解题过程及思路: 第一步:从上图我们可以看到,各个连续的1被空行分隔成了多个独立的连续区域。要想计算连续1的个数,我们先要判断空行的位置。即:
第二步:从第一步的结果,我们发现,我们要想计算每一个连续1区域的个数,就演变成了3之前有几个数,4~8之间有几个数,8~11之间有几个数。这不正好是FREQUENCY计算根据分段点计算各个分段区间的个数模式了吗?。分段点就是这些空行的序数,分段数据源是1~12的连续数字。如下图所示:
使用FREQUEN计算后的结果如下图所示。
注意:由于FREQUENCY函数分段时,下面分界点要算一个,如:4~8之间的数会被FREQUENCY函数计算成8-4=4个数,而我们不需要包含分界点的个数,即我们需要的是8-4-1=3个。所以最终的结果我们计算最大值后再减1,才是我们所要的结果。 最终的公式为: =MAX(FREQUENCY(ROW(1:12),(B2:B13<>1)*ROW(1:12)))-1 |