Excel:提取并求和指定单元格中特定分隔符间的数字
Excel:提取并求和指定单元格中特定分隔符间的数字
嗨,我来帮你搞定这个Excel的提取求和需求!针对你说的50个单元格,有的带OT: 数字格式、有的不带的情况,我给你两种实用的公式方法,适配不同版本的Excel:
方法一:适合Excel 365/2021(带动态数组功能)
如果你的Excel是较新的版本,直接用TEXTBEFORE和TEXTAFTER这两个新函数,公式超直观:
=SUM(--IFERROR(TEXTAFTER(TEXTBEFORE(A1:A50, ")"), "OT: "), 0))
我给你拆解下这个公式的逻辑:
TEXTBEFORE(A1:A50, ")"):先把每个单元格里)之前的内容抠出来,比如把D: (OT: 7)变成D: (OT: 7TEXTAFTER(..., "OT: "):接着提取OT:后面的部分,也就是我们要的数字文本(比如7)IFERROR(..., 0):遇到没有OT:的单元格(比如D: XYZ),直接返回0,避免报错--:把提取到的文本数字转换成能参与求和的数值类型SUM(...):最后把所有有效数字加总就行
👉 注意:Excel 365/2021里直接按回车就生效,不用额外组合键~
方法二:适合旧版本Excel(无动态数组功能)
如果你的Excel是2019及更早的版本,用MID+SEARCH的组合公式也能解决:
=SUM(--IFERROR(MID(A1:A50, SEARCH("OT: ", A1:A50)+4, SEARCH(")", A1:A50)-SEARCH("OT: ", A1:A50)-4), 0))
这个公式的思路是这样的:
SEARCH("OT: ", A1:A50):找到每个单元格里OT:的起始位置+4:因为OT:一共4个字符(O、T、冒号、空格),加4后就定位到了数字的第一个字符位置SEARCH(")", A1:A50)-SEARCH("OT: ", A1:A50)-4:计算出数字的长度(用)的位置减去OT:的位置,再减去4,就是数字的位数)MID(...):根据上面的起始位置和长度,提取出数字文本- 后面的
IFERROR、--和SUM作用和方法一一样
👉 注意:旧版本Excel里输入这个公式后,要按Ctrl+Shift+Enter组合键触发数组计算哦~
小技巧:应对格式小变动
如果有的单元格里OT:后面的空格不固定(比如多了几个空格),可以在提取后加个TRIM函数去掉多余空格,让公式更鲁棒:
=SUM(--IFERROR(TRIM(TEXTAFTER(TEXTBEFORE(A1:A50, ")"), "OT:")), 0))
这样不管OT:后面是1个还是多个空格,都能准确提取到数字~
备注:内容来源于stack exchange,提问作者htester
相关产品推荐
相关产品推荐

