Excel提取最后冒号后字符的函数解决方案咨询
提取Excel单元格最后一个冒号后的内容
没问题,我来给你几个实用的解决方案,覆盖不同版本的Excel:
方案1:用Excel 365/2021专属函数(最简单)
如果你的Excel是365或者2021及以后的版本,直接用TEXTAFTER函数就可以一步搞定,它专门用来提取分隔符之后的内容,还能指定取最后一个分隔符后面的部分:
=TEXTAFTER(A1, ":", -1)
- 参数说明:
A1:要处理的目标单元格":":分隔符(这里是冒号)-1:表示取最后一个分隔符之后的内容
如果担心单元格里没有冒号会返回错误值,可以加个默认值兜底:
=TEXTAFTER(A1, ":", -1, "无冒号或内容为空")
方案2:兼容旧版Excel(2019及以前)
要是你用的是旧版本Excel,没有TEXTAFTER,可以用MID+SUBSTITUTE+FIND的组合公式来实现:
=IFERROR(MID(A1,FIND("|",SUBSTITUTE(A1,":","|",LEN(A1)-LEN(SUBSTITUTE(A1,":",""))))+1,LEN(A1)),A1)
我拆解一下这个公式的逻辑,方便你理解:
LEN(A1)-LEN(SUBSTITUTE(A1,":","")):计算单元格里冒号的总个数SUBSTITUTE(A1,":","|",上述结果):把最后一个冒号替换成一个特殊字符(这里用|,只要是单元格里不会出现的字符都行)FIND("|",替换后的内容):找到这个特殊字符的位置,也就是最后一个冒号的位置MID(A1, 位置+1, LEN(A1)):从最后一个冒号的下一位开始,提取到单元格末尾的所有内容IFERROR(..., A1):如果单元格里没有冒号,就返回原单元格内容,避免出现错误值
内容的提问来源于stack exchange,提问作者Alban Couturier
相关产品推荐
相关产品推荐

