Excel提取最后一个/和'之间的文本,现有公式失效求助
提取最后一个
/与'之间文本的正确公式 针对Excel 365/2021及以上版本
直接用新版函数组合,简洁高效:
=TEXTBEFORE(TEXTAFTER(A5,"/",-1),"'")
TEXTAFTER(A5,"/",-1):提取单元格A5中最后一个/之后的所有内容TEXTBEFORE(..., "'"):从上面的结果里提取到第一个'之前的部分,就是目标文本
针对旧版Excel(无动态数组函数)
用传统函数组合定位最后一个/的位置:
=MID(A5,FIND("@",SUBSTITUTE(A5,"/","@",LEN(A5)-LEN(SUBSTITUTE(A5,"/",""))))+1,FIND("'",A5,FIND("@",SUBSTITUTE(A5,"/","@",LEN(A5)-LEN(SUBSTITUTE(A5,"/","")))))-FIND("@",SUBSTITUTE(A5,"/","@",LEN(A5)-LEN(SUBSTITUTE(A5,"/",""))))-1)
逻辑拆解:
LEN(A5)-LEN(SUBSTITUTE(A5,"/","")):计算单元格中/的总个数SUBSTITUTE(A5,"/","@",...):把最后一个/替换成特殊字符@FIND("@",...):找到这个@的位置,也就是最后一个/的位置- 最后用
MID从该位置+1开始,截取到第一个'之前的内容
你原来公式的问题
- 第一个公式用
SEARCH("/",A5)只会匹配第一个/,不是最后一个,导致提取范围错误 - 第二个公式里
RIGHT(A5,FIND("/",A5)-1)的逻辑完全颠倒,是从第一个/的位置往前截取内容,不符合需求
内容的提问来源于stack exchange,提问作者tadm123
相关产品推荐
相关产品推荐

