分享

最大连续获胜的次数?这个问题难倒多少人...

 Excel情报局 2024-05-14 发布于河北

Excel情报局

职场联盟Excel

生产挖掘分享Excel基础技能
Excel爱好者大本营
用1%的Excel基础搞定99%的职场问题
做一个超级实用的Excel公众号
Excel是门手艺玩转需要勇气
数万Excel爱好者聚集地
SUPER EXCEL MAN

    

大家好,今天我们来解决一个比较有意思的问题:如何计算出现最大的连续次数?问题描述稍微有些抽象,我们用一个现实中的实例进行举例就清楚多了。

如下图所示
是一份运动员在各个场次的获胜情况,如果取得胜利,则在单元格中记录“胜”字,失败则显示空白。我们想要在H列统计每个运动员最大连续获得胜利的次数是多少,例如,运动员“王二”连续获得胜利的次数最大的是2次。运动员“李四”连续获得胜利的次数最大的是3次。


本例中我们要使用的是一个新函数FREQUENCY函数


FREQUENCY函数是计算数字出现的频率,然后以一列垂直数组返回结果。


FREQUENCY函数语法

=FREQUENCY(需要统计数据的区域,间隔点)


比如有3个间隔点,会返回3+1个数据,多出来的1个数据表示最高区间之上的数值个数。


函数的定义比较抽象,下面我们具体操作理解


首先我们在B5单元格输入函数公式

=IF(B2:G2<>"",COLUMN(B:G))


用IF函数进行条件判断:如果B2:G2不等于空值,也就是取胜的话,就返回B:G列对应的列号,否则返回逻辑值FALSE,返回数组结果:

{2,3,FALSE,5,FALSE,7}


接着我们继续在B6单元格输入函数公式

=IF(B2:G2="",COLUMN(B:G))


用IF函数进行条件判断:如果B2:G2等于空值,也就是没有取胜的话,就返回B:G列对应的列号,否则返回逻辑值FALSE,返回数组结果:

{FALSE,FALSE,4,FALSE,6,FALSE}


将第一个IF函数作为FREQUENCY函数的第一参数,将第二个IF函数作为FREQUENCY函数的第二参数,函数如下所示:

=FREQUENCY(IF(B2:G2<>"",COLUMN(B:G)),IF(B2:G2="",COLUMN(B:G)))


FREQUENCY函数能够忽略数组中的逻辑值,以没有取胜对应的列号{4;6}为指定间隔点,统计取胜对应的列号{2;3;5;7}在各个分段中的数量,相当于分别统计在两个没有获胜的列号之间有多少个获胜的列号,返回内存数组结果为:
{2;1;1}

也就是小于等于4的有2个,大于4小于等于6的有1个,大于6的有1个。


最后使用MAX函数

=MAX(FREQUENCY(IF(B2:G2<>"",COLUMN(B:G)),IF(B2:G2="",COLUMN(B:G))))


使用MAX函数从内存数组{2;1;1}中提取出最大值2。即最大连续获胜次数是2次。

回顾关键内容,善用图片表达,学会建立联系,拓展深度广度,浓缩关键概念,应用到行动中,善于归纳总结,尝试进行分享。

 

 

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多