京东方|计算“-”连续出现的最大次数?不用数,用这个 Excel 函数就能算

京东方|计算“-”连续出现的最大次数?不用数,用这个 Excel 函数就能算

文章图片

京东方|计算“-”连续出现的最大次数?不用数,用这个 Excel 函数就能算

文章图片

京东方|计算“-”连续出现的最大次数?不用数,用这个 Excel 函数就能算

居家隔离期间 , 每天除了抢菜 , 最关心的就是官方新闻 。
邻居群每天第一时间分享的是 , 小区处于什么等级?
案例: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 函数 , 这是在 O365 里新增的函数 , 低版本的 Excel 是没有的 。

  • frequency 函数的作用是计算数值在某个区域内的出现的次数 , 然后返回一个垂直的数组;
  • 语法为 FREQUENCY(要统计频率的数组 对数组进行频率计算的分段点);
然后我们来拆解公式 。
  • ROW(A$2:A$34):统计区域内的行数 , 生成由 2 到 34 的连续数字组成的数组;这个数组作为区域;

  • 【京东方|计算“-”连续出现的最大次数?不用数,用这个 Excel 函数就能算】IF($B$2:$B$34=\"+\"ROW(A$2:A$34))):如果 B 列的值等于“+” , 则返回行号 , 否则返回错误值;也就是将每一个“+”作为分段点;
  • FREQUENCY(......):在区域中 , 计算大于上一个分段点 , 且小于等于当前分段点的个数;数组中最后还多出一个值 , 这个是大于最大分段点的个数;
  • MAX(...)-1:统计出分段点的最大连续数 , 再减去 1 , 因为 frequency 会把分段点自己也计算进去 , 所以 -1 以后就是“-”连续出现的最大次数



2. 如果将 B 列的数据改一下 , D2 的结果会随之变化 , 正确无误 。

有关 frequency 函数的案例 , 还可以参阅 Excel 高手们青睐的小众函数 frequency , 究竟有多强大?