公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必 “设为星标”哦!!!
点击上方蓝字 --> 点击“...”--> 选择“设为星标”
事情就是这么个事情,居家隔离,坚持打胜抗疫这场硬仗。
公司员工或多或少都隔离并居家办公过,每个月会有一个当月员工隔离数统计表,需要计算出最长的隔离天数。
这有何难?但是看到源数据,我方了。
案例:
下图 1 的 A 列是当月每个员工隔离的总天数,请计算出隔离时间最长的天数。
效果如下图 2 所示。
解决方案:
1. 在 C2 单元格中输入以下公式 --> 按 Ctrl+Enter:
=MAX((SUBSTITUTE(A2,ROW(1:31),"")A2)*ROW(1:31))
这个公式,如果对 substitute 函数不熟,或者对数值没有一个特别强的领悟力的话,可能是有点难。所以我会仔细讲解一下。
公式释义:
substitute 函数的作用是在某一文本字符串中替换指定的文本;本案例中的数字跟文本混合在一起,已经是个文本格式的数字了;
语法为 SUBSTITUTE(要替换其中字符的文本, 需要替换的旧文本, 用于替换的新文本, [要替换第几个旧文本]);
SUBSTITUTE(A2,ROW(1:31),""):
将 A2 单元格中的字符 1 到 31 全部替换为空值;
为什么是 1 到 31 呢?因为每个月最多 31 天,所以当月隔离天数不可能有比 31 更大的了。
...A2:判断替换后的结果与 A2 是否不同,只要包含数字 1 至 31 就会不同,结果为 true;最后会生成由 31 个 true 或 false 组成的数组;
*ROW(1:31):将上述数组与数组 1 至 31 相乘,true 的保留数值本身,false 的为 0,这样就相当于吧 A2 中的数字全提取出来了;
最后用 max 对这组数值求最大值
领取专属 10元无门槛券
私享最新 技术干货