如何提取Excel中某字符最后两次出现之间的文本(无TEXTBEFORE权限)
提取分号最后两次出现之间的文本(无TEXTBEFORE版)
假设目标数据在A1单元格,可使用以下基于基础函数的公式实现需求:
基础版公式
=LEFT(RIGHT(SUBSTITUTE(A1,";",REPT(" ",LEN(A1))),2*LEN(A1)),LEN(A1))
处理末尾含分号的场景(带去空格)
如果字符串末尾可能存在分号(如"XXX;YYY;LSX558787;"),可添加TRIM去除多余空格:
=TRIM(LEFT(RIGHT(SUBSTITUTE(A1,";",REPT(" ",LEN(A1))),2*LEN(A1)),LEN(A1)))
公式原理拆解
SUBSTITUTE(A1,";",REPT(" ",LEN(A1))):将所有分号替换为与原字符串长度一致的空格串,确保每个分号位置被足够长的空格占据,避免截取时混淆内容。RIGHT(...,2*LEN(A1)):从替换后的字符串右侧截取2倍原长度的内容,这部分必然包含最后两个分号(已转为空格串)之间的目标文本。LEFT(...,LEN(A1)):从上述截取结果的左侧取原长度的文本,精准提取出最后两次分号之间的内容。TRIM():针对末尾有分号的情况,自动去除结果中的多余空格。
内容的提问来源于stack exchange,提问作者MNaeseth
相关产品推荐
相关产品推荐

