首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从 Excel 单元格的一大堆文字和数字中,计算出最大值,我方了

公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必 “设为星标”哦!!!

点击上方蓝字 --> 点击“...”--> 选择“设为星标

事情就是这么个事情,居家隔离,坚持打胜抗疫这场硬仗。

公司员工或多或少都隔离并居家办公过,每个月会有一个当月员工隔离数统计表,需要计算出最长的隔离天数。

这有何难?但是看到源数据,我方了。

案例:

下图 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 对这组数值求最大值

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OFpAsKbe03c3CW80Oe8m6OGA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券