居家隔离期间,每天除了抢菜,最关心的就是官方新闻。
邻居群每天第一时间分享的是,小区处于什么等级?
案例:
A、B 列是小区每日有没有阳性病例的疫情报告,用符号代替文字,比较容易识别。
请在 D 列中计算出连续阴性的最大天数,效果如下图 2 所示。
解决方案:
1. 在 D2 单元格中输入以下公式:
=MAX(FREQUENCY(ROW(A$2:A$34),IF($B$2:$B$34="+",ROW(A$2:A$34))))-1
公式释义:
这次我先讲解 frequency 函数,低版本的 Excel 是没有的。
frequency 函数的作用是计算数值在某个区域内的出现的次数,然后返回一个垂直的数组;
语法为 FREQUENCY(要统计频率的数组, 对数组进行频率计算的分段点);
然后我们来拆解公式。
ROW(A$2:A$34):统计区域内的行数,生成由 2 到 34 的连续数字组成的数组;这个数组作为区域;
IF($B$2:$B$34="+",ROW(A$2:A$34))):如果 B 列的值等于“+”,则返回行号,否则返回错误值;也就是将每一个“+”作为分段点;
FREQUENCY(...,...):在区域中,计算大于上一个分段点,且小于等于当前分段点的个数;数组中最后还多出一个值,这个是大于最大分段点的个数;
MAX(...)-1:统计出分段点的最大连续数,再减去 1,因为 frequency 会把分段点自己也计算进去,所以 -1 以后就是“-”连续出现的最大次数
2. 如果将 B 列的数据改一下,D2 的结果会随之变化,正确无误。
有关 frequency 函数的案例,还可以参阅Excel – 高手们青睐的小众函数 frequency,究竟有多强大?
领取专属 10元无门槛券
私享最新 技术干货